OSSP CVS Repository |
|
## ## OSSP uuid - Universally Unique Identifier ## Copyright (c) 2004-2006 Ralf S. Engelschall <rse@engelschall.com> ## Copyright (c) 2004-2006 The OSSP Project <http://www.ossp.org/> ## ## This file is part of OSSP uuid, a library for the generation ## of UUIDs which can found at http://www.ossp.org/pkg/lib/uuid/ ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## ## uuid++.pod: manual page for C++ API ## =pod =head1 NAME B<OSSP uuid> - B<Universally Unique Identifier> (C++ API) =head1 VERSION OSSP uuid UUID_VERSION_STR =head1 DESCRIPTION B<uuid++> is the ISO-C++ language binding of the B<OSSP uuid> C API. It provides a thin ISO-C++ class B<uuid> wrapping the ISO-C API type B<uuid_t>. =head1 APPLICATION PROGRAMMING INTERFACE The ISO-C++ Application Programming Interface (API) of B<OSSP uuid> consists of the following components: =head2 CONSTANTS The constants are the same to those provided by the ISO-C API. See uuid(3) for details. =head2 CLASSES The following classes are provided: =over 4 =item B<uuid> This is the class corresponding to the C API type B<uuid_t>. It is the main object. =item B<uuid_error_t> This is the class corresponding to the C API function B<uuid_error>. It is the object thrown as an exception in case of any errors. =back =head2 METHODS The following methods are provided: =over 4 =item B<uuid>(); The standard constructor. =item B<uuid>(const uuid &_obj); The copy constructor for B<uuid> class. =item B<uuid>(const uuid_t *_obj); The import constructor for C API objects. =item B<uuid>(const void *_bin); The import constructor for binary representation. =item B<uuid>(const char *_str); The import constructor for string representation. =item ~B<uuid>(); The standard destructor for B<uuid> class. =item uuid &B<uuid::operator=>(const uuid &_obj); The assignment operator corresponding to the copy constructor. =item uuid &B<uuid::operator=>(const uuid_t *_obj); The assignment operator corresponding to the import constructor for C API objects. =item uuid &B<uuid::operator=>(const void *_bin); The assignment operator corresponding to the import constructor for binary representation. =item uuid &B<uuid::operator=>(const char *_str); The assignment operator corresponding to the import constructor for string representation. =item uuid B<uuid::clone>(void); Regular method corresponding to the C API function B<uuid_clone>. =item void B<uuid::load>(const char *_name); Regular method corresponding to the C API function B<uuid_load>. =item void B<uuid::make>(unsigned int _mode, ...); Regular method corresponding to the C API function B<uuid_make>. =item int B<uuid::isnil>(void); Regular method corresponding to the C API function B<uuid_isnil>. =item int B<uuid::compare>(const uuid &_obj); Regular method corresponding to the C API function B<uuid_compare>. =item int B<uuid::operator==>(const uuid &_obj); The comparison operator corresponding to B<uuid_compare> usage for equality. =item int B<uuid::operator!=>(const uuid &_obj); The comparison operator corresponding to B<uuid_compare> usage for inequality. =item int B<uuid::operatorE<lt>>(const uuid &_obj); The comparison operator corresponding to B<uuid_compare> usage for less-than. =item int B<uuid::operatorE<lt>=>(const uuid &_obj); The comparison operator corresponding to B<uuid_compare> usage for less-than-or-equal. =item int B<uuid::operatorE<gt>>(const uuid &_obj); The comparison operator corresponding to B<uuid_compare> usage for greater-than. =item int B<uuid::operatorE<gt>=>(const uuid &_obj); The comparison operator corresponding to B<uuid_compare> usage for greater-than-or-equal. =item void B<uuid::import>(const void *_bin); Regular method corresponding to the C API function B<uuid_import> for binary representation usage. =item void B<uuid::import>(const char *_str); Regular method corresponding to the C API function B<uuid_import> for string representation usage. =item void *B<uuid::binary>(void); Regular method corresponding to the C API function B<uuid_export> for binary representation usage. =item char *B<uuid::string>(void); Regular method corresponding to the C API function B<uuid_export> for string representation usage. =item char *B<uuid::summary>(void); Regular method corresponding to the C API function B<uuid_export> for textual summary representation usage. =item unsigned long B<uuid::version>(void); Regular method corresponding to the C API function B<uuid_version>. =item B<uuid_error_t>() The standard constructor for B<uuid_error_t> class. =item B<uuid_error_t>(uuid_rc_t _code) The standard constructor for B<uuid_error_t> class with return code initialization. =item ~B<uuid_error_t>() The standard destructor for B<uuid_error_t> class. =item void B<uuid_error_t::code>(uuid_rc_t _code) Regular method for setting the return code. =item uuid_rc_t B<uuid_error_t::code>(void) Regular method for fetching the return code. =item char *B<uuid_error_t::string>(void) Regular method for fetching the string corresponding to the current return code. =back =head1 EXAMPLE The following shows an example usage of the C++ API. Exception handling is omitted for code simplification and has to be re-added for production code. /* generate a DCE 1.1 v1 UUID from system environment */ char *uuid_v1(void) { uuid id; char *str; id.make(UUID_MAKE_V1); str = id.string(); return str; } /* generate a DCE 1.1 v3 UUID from an URL */ char *uuid_v3(const char *url) { uuid id; uuid id_ns; char *str; id_ns.load("ns:URL"); id.make(UUID_MAKE_V3, &id_ns, url); str = id.string(); return str; } =head1 SEE ALSO uuid(3). =cut