BDE 4.14.0 Production release
|
#include <balxml_namespaceregistry.h>
Public Types | |
enum | { e_NO_NAMESPACE = -1 , e_PREDEF_MIN = 0x40000000 , e_XML = e_PREDEF_MIN , e_XMLNS , e_XMLSCHEMA , e_XMLSCHEMA_INSTANCE , e_WSDL , e_WSDL_SOAP , e_BDEM , BAEXML_PREDEF_MAX , BAEXML_NO_NAMESPACE = e_NO_NAMESPACE , BAEXML_PREDEF_MIN = e_PREDEF_MIN , BAEXML_XML = e_XML , BAEXML_XMLNS = e_XMLNS , BAEXML_XMLSCHEMA = e_XMLSCHEMA , BAEXML_XMLSCHEMA_INSTANCE = e_XMLSCHEMA_INSTANCE , BAEXML_WSDL = e_WSDL , BAEXML_WSDL_SOAP = e_WSDL_SOAP , BAEXML_BDEM = e_BDEM , NSID_NO_NAMESPACE = e_NO_NAMESPACE , NSID_PREDEF_MIN = e_PREDEF_MIN , NSID_XML = e_XML , NSID_XMLNS = e_XMLNS , NSID_XMLSCHEMA = e_XMLSCHEMA , NSID_XMLSCHEMA_INSTANCE = e_XMLSCHEMA_INSTANCE , NSID_WSDL = e_WSDL , NSID_WSDL_SOAP = e_WSDL_SOAP , NSID_BDEM = e_BDEM , NSID_PREDEF_MAX = BAEXML_PREDEF_MAX } |
Public Member Functions | |
BSLMF_NESTED_TRAIT_DECLARATION (NamespaceRegistry, bslma::UsesBslmaAllocator) | |
NamespaceRegistry (bslma::Allocator *basicAllocator=0) | |
NamespaceRegistry (const NamespaceRegistry &other, bslma::Allocator *basicAllocator=0) | |
~NamespaceRegistry () | |
NamespaceRegistry & | operator= (const NamespaceRegistry &rhs) |
int | lookupOrRegister (const bsl::string_view &namespaceUri) |
void | reset () |
int | lookup (const bsl::string_view &namespaceUri) const |
const char * | lookup (int id) const |
void | print (bsl::ostream &stream) const |
Friends | |
bool | operator== (const NamespaceRegistry &lhs, const NamespaceRegistry &rhs) |
Mapping that associates a unique integer with each registered namespace URI.
anonymous enum |
|
inline |
Construct an empty registry. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the current default allocator is used.
|
inline |
Construct a copy of the specified other
namespace registry using the (optionally) specified basicAllocator
. For a given URI, the results of calling lookup
by URI will produce equal results for this object and for other
. For a given integer ID, the result of calling lookup
by ID will produce different pointers that compare equal using strcmp
.
|
inline |
Destroy this object. Release all memory to the allocator used at construction.
balxml::NamespaceRegistry::BSLMF_NESTED_TRAIT_DECLARATION | ( | NamespaceRegistry | , |
bslma::UsesBslmaAllocator | |||
) |
int balxml::NamespaceRegistry::lookup | ( | const bsl::string_view & | namespaceUri | ) | const |
Return the integer ID for the specified namespaceUri
or -1 if the namespace has not been registered. Note that not all negative return values correspond to unregistered namespaces. Preregistered namespaces always have negative IDs. (See "Preregistered
Namespaces" in the balxml_namespaceregistry component-level documentation.) Note that a return value of -1 can mean either an unregistered namespace or an empty URI string. This dual-use of -1 is deliberate and simplifies error handling in most clients.
const char * balxml::NamespaceRegistry::lookup | ( | int | id | ) | const |
Return the null-terminated string containing the URI of the namespace registered with the specified id
or an empty (not null) string if id
does not correspond to a preregistered namespace or a namespace that was previously registered with this object.
int balxml::NamespaceRegistry::lookupOrRegister | ( | const bsl::string_view & | namespaceUri | ) |
Return the integer ID for the specified namespaceUri
, assigning a new ID if the namespaceUri
has not been registered before. Note that the IDs for pre-registered namespaces (including the empty URI) are less than zero. (See "Preregistered Namespaces" in the 'balxml_namespaceregistry component-level documentation.)
|
inline |
Discard the contents of this registry and assign it the contents of the specified rhs
registry. For a given URI, the results of calling lookup
by URI will produce equal results for this object and for rhs
. For a given integer ID, the result of calling lookup
by ID will produce different pointers that compare equal using strcmp
.
void balxml::NamespaceRegistry::print | ( | bsl::ostream & | stream | ) | const |
Print the contents of this object to the specified stream
in human-readable form.
|
inline |
Removes all registered namespaces. Preregistered namespaces are not removed.
|
friend |
Must be a friend for engineering reasons. Unlike most value-semantic types, there is no efficient way to read the entire value of a namespace registry object.
Return true if the specified lhs
registry has the same value as the specified rhs
registry and false otherwise. The two registries have the same value if, for any possible URI string, u
, lhs.lookup(u) == rhs.lookup(u)
.