Kea  1.9.9-git
isc::dhcp::ClientClasses Class Reference

Container for storing client class names. More...

#include <classify.h>

Public Types

typedef std::list< ClientClass >::const_iterator const_iterator
 Type of iterators. More...

Public Member Functions

 ClientClasses ()
 Default constructor. More...
 ClientClasses (const ClientClass &class_names)
 Constructor from comma separated values. More...
const_iterator cbegin () const
 Iterator to the first element. More...
const_iterator cend () const
 Iterator to the past the end element. More...
void clear ()
 Clears containers. More...
bool contains (const ClientClass &x) const
 returns if class x belongs to the defined classes More...
bool empty () const
 Check if classes is empty. More...
void erase (const ClientClass &class_name)
 Erase element by name. More...
void insert (const ClientClass &class_name)
 Insert an element. More...
size_t size () const
 Returns the number of classes. More...
std::string toText (const std::string &separator=", ") const
 Returns all class names as text. More...

Detailed Description

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 43 of file classify.h.

Member Typedef Documentation

Type of iterators.

Definition at line 47 of file classify.h.

Constructor & Destructor Documentation

isc::dhcp::ClientClasses::ClientClasses ( )

Default constructor.

Definition at line 50 of file classify.h.

isc::dhcp::ClientClasses::ClientClasses ( const ClientClass class_names)

Constructor from comma separated values.

class_namesA string containing a client classes separated with commas. The class names are trimmed before insertion to the set.

Definition at line 19 of file

References insert(), and isc::util::str::trim().

+ Here is the call graph for this function:

Member Function Documentation

void isc::dhcp::ClientClasses::clear ( )

Clears containers.

Definition at line 104 of file classify.h.

bool isc::dhcp::ClientClasses::contains ( const ClientClass x) const

returns if class x belongs to the defined classes

xclient class to be checked
true if x belongs to the classes

Definition at line 99 of file classify.h.

Referenced by isc::dhcp::Pkt::addClass(), isc::dhcp::Pool::clientSupported(), isc::dhcp::Network::clientSupported(), isc::dhcp::Pkt::inClass(), and isc::dhcp::Pool::requireClientClass().

void isc::dhcp::ClientClasses::erase ( const ClientClass class_name)

Erase element by name.

class_nameThe name of the class to erase.

Definition at line 34 of file

void isc::dhcp::ClientClasses::insert ( const ClientClass class_name)

Insert an element.

class_nameThe name of the class to insert

Definition at line 62 of file classify.h.

Referenced by isc::dhcp::Pkt::addClass(), ClientClasses(), isc::dhcp::Pool::requireClientClass(), isc::dhcp::Dhcpv6Srv::requiredClassify(), and isc::dhcp::Dhcpv4Srv::requiredClassify().

size_t isc::dhcp::ClientClasses::size ( ) const

Returns the number of classes.

; in C++ 11 list size complexity is constant so there is no advantage to use the set part.

Definition at line 81 of file classify.h.

std::string isc::dhcp::ClientClasses::toText ( const std::string &  separator = ", ") const

Returns all class names as text.

separatorSeparator to be used between class names. The default separator comprises comma sign followed by space character.

Definition at line 40 of file

References cbegin(), and cend().

Referenced by isc::dhcp::Dhcpv4Exchange::Dhcpv4Exchange(), and isc::dhcp::Dhcpv6Srv::setReservedClientClasses().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: