ucommon::keystring< S > Class Template Reference

A template to create a string array that automatically erases. More...

#include <secure.h>

Public Member Functions

void clear (void)
 Clear current key memory.
 keystring (const char *text)
 Create a character buffer with assigned text.
 keystring ()
 Create a new character buffer with an empty string.
size_t len (void) const
 Get current length of string.
 operator bool () const
 Test if data is contained in the object.
 operator char * ()
 Get text by casting reference.
bool operator! () const
 Test if the object is empty.
char * operator() (size_t offset)
 Get a pointer to an offset in the object by expression operator.
char * operator* ()
 Get text by object pointer reference.
void operator+= (const char *text)
 Concatenate text into the object.
void operator= (const char *text)
 Assign null terminated text to the object.
char & operator[] (size_t offset) const
 Array operator to get a character from the object.
size_t size (void) const
 Get allocated size of the object.
 ~keystring ()
 Clear memory when destroyed.

Detailed Description

template<size_t S>
class ucommon::keystring< S >

A template to create a string array that automatically erases.

This is a mini string/stringbuf class that supports a subset of functionality but does not require a complex supporting object. Like stringbuf, this can be used to create local string variables. When the object falls out of scope it's memory is reset.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 786 of file secure.h.


Constructor & Destructor Documentation

template<size_t S>
ucommon::keystring< S >::keystring ( const char *  text  )  [inline]

Create a character buffer with assigned text.

If the text is larger than the size of the object, it is truncated.

Parameters:
text to assign.

Definition at line 808 of file secure.h.


Member Function Documentation

template<size_t S>
size_t ucommon::keystring< S >::len ( void   )  const [inline]

Get current length of string.

Returns:
length of string.

Definition at line 893 of file secure.h.

template<size_t S>
ucommon::keystring< S >::operator bool (  )  const [inline]

Test if data is contained in the object.

Returns:
true if there is text.

Definition at line 842 of file secure.h.

template<size_t S>
ucommon::keystring< S >::operator char * (  )  [inline]

Get text by casting reference.

Returns:
pointer to text in object.

Definition at line 856 of file secure.h.

template<size_t S>
bool ucommon::keystring< S >::operator! (  )  const [inline]

Test if the object is empty.

Returns:
true if the object is empty.

Definition at line 849 of file secure.h.

template<size_t S>
char* ucommon::keystring< S >::operator() ( size_t  offset  )  [inline]

Get a pointer to an offset in the object by expression operator.

Parameters:
offset of character in string buffer.
Returns:
pointer to offset in object.

Definition at line 879 of file secure.h.

template<size_t S>
char* ucommon::keystring< S >::operator* (  )  [inline]

Get text by object pointer reference.

Returns:
pointer to text in object.

Definition at line 863 of file secure.h.

template<size_t S>
void ucommon::keystring< S >::operator+= ( const char *  text  )  [inline]

Concatenate text into the object.

If the text is larger than the size of the object, then it is truncated.

Parameters:
text to append.

Definition at line 835 of file secure.h.

template<size_t S>
void ucommon::keystring< S >::operator= ( const char *  text  )  [inline]

Assign null terminated text to the object.

Parameters:
text to assign.

Definition at line 827 of file secure.h.

template<size_t S>
char& ucommon::keystring< S >::operator[] ( size_t  offset  )  const [inline]

Array operator to get a character from the object.

Parameters:
offset of character in string buffer.
Returns:
character at offset.

Definition at line 871 of file secure.h.

template<size_t S>
size_t ucommon::keystring< S >::size ( void   )  const [inline]

Get allocated size of the object.

Returns:
allocated size.

Definition at line 886 of file secure.h.


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

Generated on 30 Jul 2013 for UCommon by  doxygen 1.6.1