Samchon Framework for CPP
1.0.0
|
Package of libraries. More...
Classes | |
class | Base64 |
Utility class for base64 format's en-decoding. More... | |
class | CaseGenerator |
Case generator. More... | |
class | Charset |
A utility class supporting conversion between multiple character-sets. More... | |
class | CombinedPermutationGenerator |
A combined-permutation case generator. More... | |
class | CriticalAllocator |
An allocator ensuring concurrency. More... | |
class | Date |
Date (year, month, day in month) More... | |
class | Datetime |
Date and time. More... | |
class | ErrorEvent |
Event representing an error. More... | |
class | Event |
Represent an event running on background. More... | |
class | EventDispatcher |
Abstract class for dispatching Event. More... | |
class | FactorialGenerator |
Factorical case generator. More... | |
class | FTByteFile |
A binary file. More... | |
class | FTFactory |
A Factory and manager for file-tree. More... | |
class | FTFile |
A file. More... | |
class | FTFolder |
A folder. More... | |
class | FTInstance |
An interface of file-tree. More... | |
class | FTTextFile |
A text file. More... | |
class | GAParameters |
A structure containing parameters of genetic algorithm. More... | |
class | GAPopulation |
A population of a generation in G.A. More... | |
class | GeneticAlgorithm |
A genetic algorithm class. More... | |
class | HTTPLoader |
A http, web-page loader. More... | |
class | IOperator |
Interface for comparision operator. More... | |
class | Math |
Utility of Math. More... | |
class | MySQLi |
A SQL interface for My-SQL. More... | |
class | PermutationGenerator |
A permutation case generator. More... | |
class | ProgressEvent |
Event representing a progress. More... | |
class | RWMutex |
rw_mutex More... | |
class | Semaphore |
A semaphore. More... | |
class | SharedAcquire |
Shared acquire from a Semaphore. More... | |
class | SharedReadLock |
Shared lock from a RWMutex. More... | |
class | SharedWriteLock |
Shared lock from a RWMutex. More... | |
class | SQLi |
A SQL interface; DBMS connector. More... | |
class | SQLStatement |
A sql statement. More... | |
class | StringUtil |
Utility class for string. More... | |
class | TSQLi |
A SQL interface for T-SQL. More... | |
class | TSQLStatement |
A t-sql statement. More... | |
class | UniqueAcquire |
Unique acquire from a Semaphore. More... | |
class | UniqueReadLock |
Unique lock for reading. More... | |
class | UniqueWriteLock |
Unique lock for writing. More... | |
class | URLVariables |
URLVariables class is for representing variables of HTTP. More... | |
class | XML |
XML is a class representing xml object. More... | |
Typedefs | |
template<typename T , typename _Pr = std::less<std::string>> | |
using | CriticalDictionary = CriticalMap< std::string, T, _Pr > |
A Dictionary ensures concurrency. More... | |
template<typename T > | |
using | CriticalList = std::list< T, CriticalAllocator< T >> |
A std::list ensures concurrency. More... | |
template<typename _Kty , typename T , typename _Pr = std::less<_Kty>> | |
using | CriticalMap = Map< _Kty, T, _Pr, CriticalAllocator< std::pair< const std::string, T >>> |
A Map ensures concurrency. More... | |
template<typename T , typename _Pr = std::less<T>> | |
using | CriticalSet = std::set< T, _Pr, CriticalAllocator< T >> |
A Set ensures concurrency. More... | |
template<typename T > | |
using | CriticalVector = std::vector< T, CriticalAllocator< T >> |
A std::vector ensures concurrency. More... | |
typedef std::vector< std::shared_ptr< XML > > | XMLList |
A list of XML, tags are same. More... | |
Package of libraries.
The library package supports some classes for package of protocol and nam-tree.
Furthermore, library package provides some utility libraries, which are not being supported by standard library (STL). Those can be helpful for users and those are like STL, independent from operating systems, so that can compile in any operating system.
The library package can be divided into some sectinos.
Common containers with utility methods.
Utilty classes for mathmatical methods, or libraries of case generator and genetic algorithm. In those mathmatical part, lots of examples are supported.
Classes handling critical section, like RWMutex and Semaphore which are not supported in STL yet.
Of course, rw_mutex is already defined in linux C, semaphore is already defined in MFC. But they are dependent on their own operating system, so that cannot compile in multiple operating systems. It's the reason why Samchon Framework provides those classes.
Furthermore, unique and shared lock of those critical section classes, which are managing locking and unlocking, and critical allocator are provided.
Provides libraries about data I/O.
SQLi and SQLStatement are the ODBC drivier designed to follow principles of OOP by adapter pattern. XML class is designed to follow composite relationship.
Libraries representing events and dispatching those events, which are running on background, with own exclusive thread.
But there's something to notice. Since C++11, calling member method of a class by new thread passing by static method and void pointer is recommended to avoid. By guidance of the STL, using std::thread and std::bind will be better. As that reason, Event and StaticEventDispatcher can be deprecated in next generation of Samchon Framework.
A module for expressing folder and file instances. The objects in file-tree module are realized by protocol::Entity.
They have recursive and hierarchical relationship and created by Factory class (FTFactory, factory pattern). Those objects can be archived in and loaded from Database. Using the pre-defined methods interaction with Databse, you can not only express real file and folder instances but also realize virtual file system.
Classes in the Module of file-tree are all abstract, but package nam-tree can be an example inheriting and having real model from those abstract classes.
using samchon::library::CriticalDictionary = typedef CriticalMap<std::string, T, _Pr> |
A Dictionary ensures concurrency.
Definition at line 16 of file CriticalDictionary.hpp.
using samchon::library::CriticalList = typedef std::list<T, CriticalAllocator<T>> |
A std::list ensures concurrency.
Definition at line 18 of file CriticalList.hpp.
using samchon::library::CriticalMap = typedef Map<_Kty, T, _Pr, CriticalAllocator<std::pair<const std::string, T>>> |
A Map ensures concurrency.
Definition at line 18 of file CriticalMap.hpp.
using samchon::library::CriticalSet = typedef std::set<T, _Pr, CriticalAllocator<T>> |
A Set ensures concurrency.
Definition at line 18 of file CriticalSet.hpp.
using samchon::library::CriticalVector = typedef std::vector<T, CriticalAllocator<T>> |
A std::vector ensures concurrency.
Definition at line 18 of file CriticalVector.hpp.
typedef std::vector<std::shared_ptr<XML> > samchon::library::XMLList |