yast2-core
Public Member Functions | Protected Member Functions | Private Attributes | Friends
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

List of all members.

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)

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.

bool YCPStringRep::isAscii ( ) const
inline

Returns true iff the string only contains ASCII characters.

References is_ascii.

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().

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.

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

Implements YCPValueRep.

References v, and Xmlcode::xmlify().

const string & YCPStringRep::value ( ) const

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

References v.

const char * YCPStringRep::value_cstr ( ) const

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

References v.

Referenced by compare().

YCPValueType YCPStringRep::valuetype ( ) const
virtual

Returns YT_STRING. See YCPValueRep::valuetype.

Implements YCPValueRep.

References YT_STRING.

wstring YCPStringRep::wvalue ( ) const

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

References YaST::utf82wchar(), and v.


Friends And Related Function Documentation

friend class YCPString
friend

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.1