Class Specialization
CStyle String
Allows adaption of strings to C-style strings.
Container
String
CStyle String
String<TValue, CStyle>
Parameters
TValue
The value type, that is the type of the items/characters stored in the string.
Note: TValue must be a simple type.???(Link)
Remarks: Use Value to get the value type for a given class.
Specialization of
Implements
Metafunctions
DefaultOverflowExplicitThe default overflow strategy for explicit resize. (String)
DefaultOverflowImplicitThe default overflow strategy for implicit resize. (String)
InfixInfix sequence type. (String)
IsSequenceDetermines whether a container stores its elements in sequential order. (String)
IteratorType of iterator objects that are used to traverse the container. (String)
PositionType of an object that represents a position in a container. (String)
PrefixPrefix sequence type. (String)
SAValueThe default alphabet type of a suffix array, i.e. the type to store a position of a string or string set. (String)
SpecThe spec of a class. (String)
SuffixSuffix sequence type. (String)
Functions
appendConcatenate two containers. (String)
assignAssigns one object to another object. (String)
assignValueAssigns value to item. (Container)
atNilTests whether iterator is at nil position. (String)
backThe last item in container. (Container)
beginThe begin of a container. (String)
beginPositionBegin position of object in host. (String)
canParseStringTest whether an automaton can parse a string completely. (String)
capacityThe maximal length. (String)
clearResets an object. (String)
collectLeavesReturns all leaves underneath a given vertex. (String)
createMakes an object to owner of its content.
createOracleCreates a factor oracle. (String)
createOracleOnReverseCreates a factor oracle for the reversed string. (String)
createSuffixTrieCreates a trie of all suffixes of a text. (String)
createTrieCreates a trie. (String)
createTrieOnReverseCreates a trie for all reversed keywords. (String)
dependentTest whether object depends on other objects.
determineConsensusSeqDetermines the consensus pattern of a given profile. (String)
emptyTest a container for being empty. (String)
endThe end of a container. (String)
endPositionEnd position of object in host. (String)
eraseErases a part of a container (String)
extendSeedExtends a seed. (String)
extendSeeds Extenstion of seeds. (String)
fillResizes and fills a container. (String)
frontThe first item in container. (Container)
getAlignment Constructs a alignment from a ChainedSeed. (String)
getDistanceMatrixComputes a pairwise distance matrix from an alignment graph. (String)
getSuccessorGets the successor for a given vertex and an edge label. For an automaton a single character is required whereas for a word graph getSuccessor takes a string. (String)
getValueAccess to the value. (Container)
goDownIterates down one edge or a path in a tree. (String)
goNilMoves iterator to nil position. (String)
heaviestIncreasingSubsequenceComputes the heaviest increasing subsequence. (String)
idA value that identifies the underlying sequence. (String)
infixCreates infix object. (String)
infixWithLengthCreates infix object. (String)
iterIterator to item at given position. (String)
lengthThe number of items/characters. (String)
longestCommonSubsequenceComputes the longest common subsequence. (String)
longestIncreasingSubsequenceComputes the longest increasing subsequence. (String)
moveValueAssigns value to item. (Container)
parseStringParses a string one character at a time and moves accordingly in the automaton. (String)
positionPosition of an iterator. (Container)
prefixCreates prefix object. (String)
replaceReplaces a part of a container with another container. (String)
resizeChanges the length. (String)
resizeSpaceMakes free space in container (String)
scoreSeed Calculates the score of a seed. (String)
setHaystackSets the haystack of a Finder object. (String)
setNeedleSets the needle of a Pattern object and optionally induces preprocessing. (String)
shareResourcesDetermines whether two sequences share the same resource. (String)
slowNjTreeComputes a guide tree from a distance matrix. (String)
stringSetLimitsRetrieves a string of delimiter positions of a StringSet which is needed for local<->global position conversions. (String)
stringToShapeTakes a shape given as a string of '1' (relevant position) and '0' (irrelevant position) and converts it into a Shape object. (String)
suffixCreates suffix object. (String)
toCStringAccess sequence as c-style string. (String)
topological_sortPerforms a topological sort on a directed acyclic graph (DAG). (String)
upgmaTreeComputes a guide tree from a distance matrix. (String)
valueReference to the value. (String)
Remarks
The purpose of this class is to access to the content of a sequence in a "zero terminated string" style. This can be useful if SEQAN classes has to be integrated in programs that use char arrays to store strings. Instances of String<TValue, CStyle> can implicitely converted to a TValue * that points to a zero terminated CStyle of TValue.
The stored c-style string object can be set by constructors or assignment. The content of a c-style string can eighter be stored in a separate buffer, that is the source string is copied. Or the buffer of the source string itself is used instead, in this case the c-style string depends on the source string and gets invalid as soon as the buffer of the source string is destroyed.
Hence, this class is a kind of adaptor from an arbitrary SEQAN string to char arrays. Of course, the opposite way is possible too: Read here about adapting char arrays to SEQAN strings.
Examples
//Create a string str:
String<char> str = "this is a test string";
 
//Create a c-style string object for str:
String<char, CStyle> c_style = str;
 
//Now use c_style as char array:
strcmp(c_style, "compare it to this string");
If the c-style string is needed only temporarily, the function toCString can be used:
String<char> str = "this is a test string";
strcmp(toCString(str), "compare it to this string");
See Also
SeqAn - Sequence Analysis Library - www.seqan.de