Kea 2.7.5
|
Container for storing client class names. More...
#include <classify.h>
Public Types | |
typedef ClientClassContainer::const_iterator | const_iterator |
Type of iterators. | |
typedef ClientClassContainer::iterator | iterator |
Public Member Functions | |
ClientClasses () | |
Default constructor. | |
ClientClasses (const ClientClasses &other) | |
Copy constructor. | |
ClientClasses (const std::string &class_names) | |
Constructor from comma separated values. | |
void | clear () |
Clears containers. | |
bool | contains (const ClientClass &x) const |
returns if class x belongs to the defined classes | |
bool | empty () const |
Check if classes is empty. | |
bool | equals (const ClientClasses &other) const |
Compares two ClientClasses container for equality. | |
void | erase (const ClientClass &class_name) |
Erase element by name. | |
void | fromElement (isc::data::ConstElementPtr list) |
Sets contents from a ListElement. | |
void | insert (const ClientClass &class_name) |
Insert an element. | |
bool | operator!= (const ClientClasses &other) const |
Compares two ClientClasses container for inequality. | |
ClientClasses & | operator= (const ClientClasses &other) |
Assigns the contents of on container to another. | |
bool | operator== (const ClientClasses &other) const |
Compares two ClientClasses containers for equality. | |
size_t | size () const |
Returns the number of classes. | |
isc::data::ElementPtr | toElement () const |
Returns all class names as an ElementPtr of type ListElement. | |
std::string | toText (const std::string &separator=", ") const |
Returns all class names as text. | |
const_iterator | cbegin () const |
Iterators to the first element. | |
const_iterator | begin () const |
iterator | begin () |
const_iterator | cend () const |
Iterators to the past the end element. | |
const_iterator | end () const |
iterator | end () |
Container for storing client class names.
Both a list to iterate on it in insert order and unordered set of names for existence.
Definition at line 108 of file classify.h.
typedef ClientClassContainer::const_iterator isc::dhcp::ClientClasses::const_iterator |
Type of iterators.
Definition at line 112 of file classify.h.
typedef ClientClassContainer::iterator isc::dhcp::ClientClasses::iterator |
Definition at line 113 of file classify.h.
|
inline |
Default constructor.
Definition at line 116 of file classify.h.
isc::dhcp::ClientClasses::ClientClasses | ( | const std::string & | class_names | ) |
Constructor from comma separated values.
class_names | A string containing a client classes separated with commas. The class names are trimmed before insertion to the set. |
Definition at line 25 of file classify.cc.
References insert(), and isc::util::str::trim().
isc::dhcp::ClientClasses::ClientClasses | ( | const ClientClasses & | other | ) |
Copy constructor.
other | ClientClasses object to be copied. |
Definition at line 39 of file classify.cc.
References insert().
|
inline |
Definition at line 185 of file classify.h.
|
inline |
Definition at line 182 of file classify.h.
|
inline |
|
inline |
Iterators to the past the end element.
Definition at line 192 of file classify.h.
Referenced by equals().
|
inline |
Clears containers.
Definition at line 210 of file classify.h.
Referenced by fromElement(), and operator=().
bool isc::dhcp::ClientClasses::contains | ( | const ClientClass & | x | ) | const |
returns if class x belongs to the defined classes
x | client class to be checked |
Definition at line 55 of file classify.cc.
Referenced by isc::dhcp::Pool::addAdditionalClass(), isc::dhcp::Network::addAdditionalClass(), isc::dhcp::Pkt::addAdditionalClass(), isc::dhcp::Pkt::addClass(), isc::dhcp::Pkt::addSubClass(), isc::dhcp::OptionDescriptor::allowedForClientClasses(), and isc::dhcp::Pkt::inClass().
|
inline |
Check if classes is empty.
Definition at line 165 of file classify.h.
Referenced by isc::dhcp::OptionDescriptor::allowedForClientClasses().
|
inline |
Definition at line 198 of file classify.h.
|
inline |
Definition at line 195 of file classify.h.
bool isc::dhcp::ClientClasses::equals | ( | const ClientClasses & | other | ) | const |
Compares two ClientClasses container for equality.
Definition at line 104 of file classify.cc.
References cbegin(), cend(), and size().
Referenced by operator!=(), and operator==().
void isc::dhcp::ClientClasses::erase | ( | const ClientClass & | class_name | ) |
Erase element by name.
class_name | The name of the class to erase. |
Definition at line 46 of file classify.cc.
void isc::dhcp::ClientClasses::fromElement | ( | isc::data::ConstElementPtr | list | ) |
Sets contents from a ListElement.
list | JSON list of classes from which to populate the container. |
BadValue | if the element is not a list or contents are invalid |
Definition at line 85 of file classify.cc.
References clear(), insert(), isc_throw, isc::data::Element::list, and isc::data::Element::string.
|
inline |
Insert an element.
class_name | The name of the class to insert |
Definition at line 155 of file classify.h.
Referenced by ClientClasses(), ClientClasses(), isc::dhcp::Pool::addAdditionalClass(), isc::dhcp::Network::addAdditionalClass(), isc::dhcp::Pkt::addAdditionalClass(), isc::dhcp::Pkt::addClass(), isc::dhcp::OptionDescriptor::addClientClass(), isc::dhcp::Pkt::addSubClass(), isc::dhcp::Dhcpv6Srv::evaluateAdditionalClasses(), isc::dhcp::Dhcpv4Srv::evaluateAdditionalClasses(), fromElement(), and operator=().
|
inline |
Compares two ClientClasses container for inequality.
Definition at line 148 of file classify.h.
References equals().
ClientClasses & isc::dhcp::ClientClasses::operator= | ( | const ClientClasses & | other | ) |
Assigns the contents of on container to another.
Definition at line 109 of file classify.cc.
References clear(), and insert().
|
inline |
Compares two ClientClasses containers for equality.
Definition at line 141 of file classify.h.
References equals().
|
inline |
Returns the number of classes.
Definition at line 173 of file classify.h.
Referenced by isc::dhcp::OptionDescriptor::allowedForClientClasses(), and equals().
ElementPtr isc::dhcp::ClientClasses::toElement | ( | ) | const |
Returns all class names as an ElementPtr of type ListElement.
Definition at line 76 of file classify.cc.
References isc::data::Element::create(), and isc::data::Element::createList().
std::string isc::dhcp::ClientClasses::toText | ( | const std::string & | separator = ", " | ) | const |
Returns all class names as text.
separator | Separator to be used between class names. The default separator comprises comma sign followed by space character. |
Definition at line 61 of file classify.cc.