Poco::Net

class NameValueCollection

File Information

Library: Net
Package: Messages
Header: Poco/Net/NameValueCollection.h

Description

A collection of name-value pairs that are used in various internet protocols like HTTP and SMTP.

The name is case-insensitive.

There can be more than one name-value pair with the same name.

Inheritance

Known Derived Classes: HTTPRequest, HTMLForm, HTTPResponse, HTTPServerResponse, HTTPServerRequestImpl, HTTPServerRequest, HTTPServerResponseImpl, HTTPAuthenticationParams, HTTPMessage, MailMessage, MessageHeader

Member Summary

Member Functions: add, begin, clear, empty, end, erase, find, get, has, operator =, operator [], set, size, swap

Types Aliases

ConstIterator

using ConstIterator = HeaderMap::ConstIterator;

HeaderMap

using HeaderMap = Poco::ListMap < std::string, std::string >;

Iterator

using Iterator = HeaderMap::Iterator;

Constructors

NameValueCollection

NameValueCollection();

Creates an empty NameValueCollection.

NameValueCollection

NameValueCollection(
    const NameValueCollection & nvc
);

Creates a NameValueCollection by copying another one.

NameValueCollection

NameValueCollection(
    NameValueCollection && nvc
) noexcept;

Creates a NameValueCollection by moving another one.

Destructor

~NameValueCollection virtual

virtual ~NameValueCollection();

Destroys the NameValueCollection.

Member Functions

add

void add(
    const std::string & name,
    const std::string & value
);

Adds a new name-value pair with the given name and value.

begin

ConstIterator begin() const;

Returns an iterator pointing to the begin of the name-value pair collection.

clear

void clear();

Removes all name-value pairs and their values.

empty

bool empty() const;

Returns true iff the header does not have any content.

end

ConstIterator end() const;

Returns an iterator pointing to the end of the name-value pair collection.

erase

void erase(
    const std::string & name
);

Removes all name-value pairs with the given name.

find

ConstIterator find(
    const std::string & name
) const;

Returns an iterator pointing to the first name-value pair with the given name.

get

const std::string & get(
    const std::string & name
) const;

Returns the value of the first name-value pair with the given name.

Throws a NotFoundException if the name-value pair does not exist.

get

const std::string & get(
    const std::string & name,
    const std::string & defaultValue
) const;

Returns the value of the first name-value pair with the given name. If no value with the given name has been found, the defaultValue is returned.

has

bool has(
    const std::string & name
) const;

Returns true if there is at least one name-value pair with the given name.

operator =

NameValueCollection & operator = (
    const NameValueCollection & nvc
);

Assigns the name-value pairs of another NameValueCollection to this one.

operator =

NameValueCollection & operator = (
    NameValueCollection && nvc
) noexcept;

Moves the name-value pairs of another NameValueCollection to this one.

operator []

const std::string & operator[] (
    const std::string & name
) const;

Returns the value of the (first) name-value pair with the given name.

Throws a NotFoundException if the name-value pair does not exist.

set

void set(
    const std::string & name,
    const std::string & value
);

Sets the value of the (first) name-value pair with the given name.

size

std::size_t size() const;

Returns the number of name-value pairs in the collection.

swap

void swap(
    NameValueCollection & nvc
) noexcept;

Swaps the NameValueCollection with another one.