0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-08 19:48:36 +02:00

ircd::json: Warn when sampling size() of object and array the wrong way.

This commit is contained in:
Jason Volk 2017-10-11 18:11:55 -07:00
parent 723cd3440b
commit 0ae0172a25
2 changed files with 18 additions and 0 deletions

View file

@ -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

View file

@ -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