Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
StringConcatenate.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <string/LinearString.h>
9
10namespace string {
11
12namespace transform {
13
19public:
30 template < class SymbolType >
32
33};
34
35template < class SymbolType >
37 ext::vector < SymbolType > content = first.getContent ( );
38 content.insert ( content.end ( ), second.getContent ( ).begin ( ), second.getContent ( ).end ( ) );
39
40 return string::LinearString < SymbolType > ( first.getAlphabet ( ) + second.getAlphabet ( ), content );
41}
42
43} /* namespace transform */
44
45} /* namespace string */
46
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
reverse_iterator insert(const_reverse_iterator pos, const T &value)
Inserts the value on position given by iterator pos.
Definition: vector.hpp:229
auto end() &
Inherited behavior of end for non-const instance.
Definition: vector.hpp:155
Linear string.
Definition: LinearString.h:57
const ext::set< SymbolType > & getAlphabet() const &
Definition: LinearString.h:103
const ext::vector< SymbolType > & getContent() const &
Definition: LinearString.h:238
Definition: StringConcatenate.h:18
static string::LinearString< SymbolType > concatenate(const string::LinearString< SymbolType > &first, const string::LinearString< SymbolType > &second)
Definition: StringConcatenate.h:36
p second
Definition: ToRegExpAlgebraic.h:126
ContainerType< ResType > transform(const ContainerType< InType, Ts ... > &in, Callback transform)
In container tranformation of all elements according to the tranform.
Definition: algorithm.hpp:150
Definition: RandomStringFactory.cpp:12