Technical Feature List
Environment
- Compiler
- Microsoft Visual C++ 6.0
- Gnu C++
- IDE
- Microsoft Visual C++ 6.0
- Sniff+
- Code Documentation
- Source Control
- Coding Conventions
Compiler Requirements
- Templates
- Class Templates
- Member Templates
- Function Templates
- Nested Template Classes
- Template Functions
- RTTI
- No Namespaces, No Exceptions
Basic Features
- Portable
- OS Support
- Threads
- Semaphores
- Counting
- Mutex
- Auto Release (for Secure Exception Handling)
- Synch Semaphore (To synchronize several Threads)
- Timing
- System Clock (Ticks/Secs)
- Timers (Numbers of timers are not limited)
- Memory Management
- MemoryPool
- Prevents from Fragmentation
- 3 Times faster than WinNt System new
- MemoryPoolDebug
- Reports Memory Leaks
- File-Name and Line-Number of Occurrence
- Data Structures
- Linked Lists
- Single-Linked List + Iterator
- Single-Linked List Intrusive + Iterator
- Double-Linked List + Iterator
- Double -Linked List Intrusive + Iterator
- Tree
- Binary Tree + Iterator (Fast Insertion and Removal, balancing)
- Binary Tree Ordered + Iterator (keeps insertion order for traversal)
- Synchronized Queue Intrusive (Put/Get synchronized over-/underflow)
- Streaming
- Input/Output Streams
- StreamBuffers
- Supports Java-Like writing/reading from Streams (like TCP)
- Formatters
- Formats the stream in any format to a binary buffer
- Tools
- Factory (Creates Objects by Name (using the Prototype Pattern))
- Alive-Check
- Check-Functionality if Destructor has been called
- Useful for Shutdown Procedures in a Multi-Threaded-Environment
- Functor (Intrinsic Function Call, like Virtual Function)
- TypeInfo (Gets the Class Name from an Object at Run-Time)
- Singleton (Template-Mechanic for the Singleton-Pattern)
- Event / Event-Listeners (Java-Like Event Signals)
- String (Real-Time Optimized String working on the Memory-Pool)
- Trace Functionality
- XP-Like Test-Framework
- Hierarchical Test-Suites
- Test-Conditions
Adaptive Message System
- Messaging Infrastructure
- Message / Message Part
- Message Handler / Message Part Handler
- Channel / Transaction
- Client / Server Architecture
- Dynamic User Protocol Support
- Request, RequestResponse, RequestMore
- Response, ResponseResponse, ResponseMore
- Reset
- Dynamic Receive Mode
- Asynchronous / Synchronous / Direct (in the Callers Context)
- Service Dictionary
- Local vs. Distributed --> No difference for the User
- Network Support
- Any Network can be easily integrated
- Full Timeout Support
- Layer 4 Callback
- Tcp/Ip Support
- Tcp/Ip Classes
- Tcp/Ip Network Port for Client/Server Communication