mirror of
https://github.com/matrix-construct/construct
synced 2024-07-21 09:58:46 +02:00
ircd::json: Warn when sampling size() of object and array the wrong way.
This commit is contained in:
parent
723cd3440b
commit
0ae0172a25
|
@ -60,6 +60,7 @@ struct ircd::json::array
|
|||
|
||||
const_iterator find(size_t i) const;
|
||||
size_t count() const;
|
||||
size_t size() const;
|
||||
|
||||
template<class T> T at(const size_t &i) const;
|
||||
string_view at(const size_t &i) const;
|
||||
|
@ -147,6 +148,14 @@ const
|
|||
return it;
|
||||
}
|
||||
|
||||
__attribute__((warning("Taking string_view::size() not the count() of array elements")))
|
||||
inline size_t
|
||||
ircd::json::array::size()
|
||||
const
|
||||
{
|
||||
return count();
|
||||
}
|
||||
|
||||
inline size_t
|
||||
ircd::json::array::count()
|
||||
const
|
||||
|
|
|
@ -84,6 +84,7 @@ struct ircd::json::object
|
|||
|
||||
// util
|
||||
size_t count() const;
|
||||
size_t size() const; // warns if used; use count()
|
||||
bool has(const string_view &key) const;
|
||||
bool has(const path &) const;
|
||||
|
||||
|
@ -286,6 +287,14 @@ catch(const bad_lex_cast &e)
|
|||
return def;
|
||||
}
|
||||
|
||||
__attribute__((warning("Taking string_view::size() not the count() of members in the object")))
|
||||
inline size_t
|
||||
ircd::json::object::size()
|
||||
const
|
||||
{
|
||||
return string_view::size();
|
||||
}
|
||||
|
||||
inline size_t
|
||||
ircd::json::object::count()
|
||||
const
|
||||
|
|
Loading…
Reference in a new issue