yast2-core
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
YCPStringRep Class Reference

YCPValueRep representing a character string of arbitrary length. Whatever internal representation is choosen: It should be possible to switch to 16 bit Unicode strings, when neccessary. More...

#include <YCPString.h>

Inheritance diagram for YCPStringRep:
YCPValueRep YCPElementRep

Public Member Functions

bool isEmpty () const
 
bool isAscii () const
 
const string & value () const
 
wstring wvalue () const
 
YCPOrder compare (const YCPString &v, bool rl=false) const
 
const char * value_cstr () const
 
string toString () const
 
std::ostream & toStream (std::ostream &str) const
 
std::ostream & toXml (std::ostream &str, int indent) const
 
YCPValueType valuetype () const
 
- Public Member Functions inherited from YCPValueRep
const char * valuetype_str () const
 
bool isVoid () const
 
bool isBoolean () const
 
bool isInteger () const
 
bool isFloat () const
 
bool isString () const
 
bool isByteblock () const
 
bool isPath () const
 
bool isSymbol () const
 
bool isList () const
 
bool isTerm () const
 
bool isMap () const
 
bool isCode () const
 
bool isBreak () const
 
bool isReturn () const
 
bool isEntry () const
 
bool isReference () const
 
bool isExternal () const
 
YCPVoid asVoid () const
 
YCPBoolean asBoolean () const
 
YCPInteger asInteger () const
 
YCPFloat asFloat () const
 
YCPString asString () const
 
YCPByteblock asByteblock () const
 
YCPPath asPath () const
 
YCPSymbol asSymbol () const
 
YCPList asList () const
 
YCPTerm asTerm () const
 
YCPMap asMap () const
 
YCPCode asCode () const
 
YCPEntry asEntry () const
 
YCPReference asReference () const
 
YCPExternal asExternal () const
 
bool equal (const YCPValue &) const
 
YCPOrder compare (const YCPValue &v, bool rl=false) const
 
- Public Member Functions inherited from YCPElementRep
YCPValue asValue () const
 
virtual const YCPElementRepshallowCopy () const
 

Protected Member Functions

 YCPStringRep (const string &s)
 
 YCPStringRep (const wstring &s)
 
- Protected Member Functions inherited from YCPElementRep
 YCPElementRep ()
 
virtual ~YCPElementRep ()
 

Private Attributes

string v
 
bool is_ascii
 

Friends

class YCPString
 

Detailed Description

YCPValueRep representing a character string of arbitrary length. Whatever internal representation is choosen: It should be possible to switch to 16 bit Unicode strings, when neccessary.

YCP Syntax: Doublequoted ASCII string.

"This is a string", "", "08712345"

Constructor & Destructor Documentation

YCPStringRep::YCPStringRep ( const string &  s)
protected

Creates a new YCPStringRep from a C++ string.

Parameters
sA string that is taken literally as value of the newly create YCPStringRep object. Not expansion of backslashes is done, s is not considered to be enclosed with quotes. If there are quotes, they are considered to be part of the string. The string must be UTF-8 encoded.

References is_ascii, and v.

YCPStringRep::YCPStringRep ( const wstring &  s)
protected

Creates a new YCPStringRep from a C++ wstring.

Parameters
sA wstring that is taken literally as value of the newly create YCPStringRep object. Not expansion of backslashes is done, s is not considered to be enclosed with quotes. If there are quotes, they are considered to be part of the string.

References is_ascii, v, and YaST::wchar2utf8().

Member Function Documentation

YCPOrder YCPStringRep::compare ( const YCPString v,
bool  rl = false 
) const

Compares two YCPStrings for equality, greaterness or smallerness.

Parameters
vvalue to compare against
rlrespect locale
Returns
YO_LESS, if this is smaller than v, YO_EQUAL, if this is equal to v, YO_GREATER, if this is greater to v

References YaST::utf82wchar(), v, value_cstr(), YO_EQUAL, YO_GREATER, and YO_LESS.

Referenced by isAscii().

bool YCPStringRep::isAscii ( ) const
inline

Returns true iff the string only contains ASCII characters.

References compare(), is_ascii, str, toStream(), toString(), toXml(), value(), value_cstr(), valuetype(), and wvalue().

bool YCPStringRep::isEmpty ( ) const

Returns true iff this string is empty.

References v.

std::ostream & YCPStringRep::toStream ( std::ostream &  str) const
virtual

Output value as bytecode to stream

Implements YCPElementRep.

References v, and Bytecode::writeString().

Referenced by isAscii().

string YCPStringRep::toString ( void  ) const
virtual

Returns a string representation of the value of this object. It contains enclosing quotes. Newlines and quotes contained in the string itself are quoted with backslashes.

Implements YCPElementRep.

References v.

Referenced by isAscii().

std::ostream & YCPStringRep::toXml ( std::ostream &  str,
int  indent 
) const
virtual

Implements YCPValueRep.

References v, and Xmlcode::xmlify().

Referenced by isAscii().

const string & YCPStringRep::value ( ) const

Returns the value of this object in form of a C++ string value.

References v.

Referenced by isAscii().

const char * YCPStringRep::value_cstr ( ) const

Returns the value in form of a C const char * string.

References v.

Referenced by compare(), and isAscii().

YCPValueType YCPStringRep::valuetype ( ) const
virtual

Returns YT_STRING. See YCPValueRep::valuetype.

Implements YCPValueRep.

References YT_STRING.

Referenced by isAscii().

wstring YCPStringRep::wvalue ( ) const

Returns the value of this object in form of a C++ wstring value.

References YaST::utf82wchar(), and v.

Referenced by isAscii().

Friends And Related Function Documentation

friend class YCPString
friend

Referenced by YCPString::YCPString().

Member Data Documentation

bool YCPStringRep::is_ascii
private

Referenced by isAscii(), and YCPStringRep().

string YCPStringRep::v
private

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

Generated on a sunny day for yast2-core by doxygen 1.8.11