1 // =========================================================================
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // =========================================================================
4 #ifndef __TinyCon__Trie__h__
5 #define __TinyCon__Trie__h__
11 #include <cpPlugins_TinyCon_Export.h>
17 class CPPLUGINS_TINYCON_EXPORT Trie
21 typedef std::map< char, Self* > TChildren;
27 virtual bool IsWord( ) const;
29 virtual Self* createExtension( );
30 virtual Self* getExtension( );
31 virtual const Self* getExtension( ) const;
32 virtual void setExtension( Self* extension );
34 virtual Self* insert( const std::string& w );
35 virtual void words( std::vector< std::string >& options ) const;
36 virtual std::pair< Self*, std::string > find(
37 const std::string& line, const std::size_t& p = 0
39 virtual std::pair< const Self*, std::string > find(
40 const std::string& line, const std::size_t& p = 0
50 #endif // __TinyCon__Trie__h__