## ## OSSP uuid - Universally Unique Identifier ## Copyright (c) 2004-2007 Ralf S. Engelschall ## Copyright (c) 2004-2007 The OSSP Project ## ## 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 - B (C++ API) =head1 VERSION OSSP uuid UUID_VERSION_STR =head1 DESCRIPTION B is the ISO-C++ language binding of the B C API. It provides a thin ISO-C++ class B wrapping the ISO-C API type B. =head1 APPLICATION PROGRAMMING INTERFACE The ISO-C++ Application Programming Interface (API) of B 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 This is the class corresponding to the C API type B. It is the main object. =item B This is the class corresponding to the C API function B. 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(); The standard constructor. =item B(const uuid &_obj); The copy constructor for B class. =item B(const uuid_t *_obj); The import constructor for C API objects. =item B(const void *_bin); The import constructor for binary representation. =item B(const char *_str); The import constructor for string representation. =item ~B(); The standard destructor for B class. =item uuid &B(const uuid &_obj); The assignment operator corresponding to the copy constructor. =item uuid &B(const uuid_t *_obj); The assignment operator corresponding to the import constructor for C API objects. =item uuid &B(const void *_bin); The assignment operator corresponding to the import constructor for binary representation. =item uuid &B(const char *_str); The assignment operator corresponding to the import constructor for string and single integer value representation. =item uuid B(void); Regular method corresponding to the C API function B. =item void B(const char *_name); Regular method corresponding to the C API function B. =item void B(unsigned int _mode, ...); Regular method corresponding to the C API function B. =item int B(void); Regular method corresponding to the C API function B. =item int B(const uuid &_obj); Regular method corresponding to the C API function B. =item int B(const uuid &_obj); The comparison operator corresponding to B usage for equality. =item int B(const uuid &_obj); The comparison operator corresponding to B usage for inequality. =item int B>(const uuid &_obj); The comparison operator corresponding to B usage for less-than. =item int B=>(const uuid &_obj); The comparison operator corresponding to B usage for less-than-or-equal. =item int B>(const uuid &_obj); The comparison operator corresponding to B usage for greater-than. =item int B=>(const uuid &_obj); The comparison operator corresponding to B usage for greater-than-or-equal. =item void B(const void *_bin); Regular method corresponding to the C API function B for binary representation usage. =item void B(const char *_str); Regular method corresponding to the C API function B for string representation usage. =item void *B(void); Regular method corresponding to the C API function B for binary representation usage. =item char *B(void); Regular method corresponding to the C API function B for string representation usage. =item char *B(void); Regular method corresponding to the C API function B for single integer value representation usage. =item char *B(void); Regular method corresponding to the C API function B for textual summary representation usage. =item unsigned long B(void); Regular method corresponding to the C API function B. =item B() The standard constructor for B class. =item B(uuid_rc_t _code) The standard constructor for B class with return code initialization. =item ~B() The standard destructor for B class. =item void B(uuid_rc_t _code) Regular method for setting the return code. =item uuid_rc_t B(void) Regular method for fetching the return code. =item char *B(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