| ►Nalgorithms | |
| Cheap | |
| ►Napplication | Implements an application lock to ensure only one is running at once |
| Capplication_shell | The application_shell is a base object for console programs |
| Cbase_application | Provides a base object for the root application portion of a program |
| Ccommand_parameter | |
| Ccommand_line | |
| Choople_service | A platform-independent way to alert a program that it should shut down immediately |
| Claunch_manager | Provides methods for starting, stopping and checking on processes |
| Cstdio_redirecter | Redirects I/O for a newly launched application |
| Cshared_memory | Implements storage for memory that can be shared between threads |
| Csingleton_application | |
| ►Nbasis | The guards collection helps in testing preconditions and reporting errors |
| Carray | Represents a sequential, ordered, contiguous collection of objects |
| Cint_array | A simple object that wraps a templated array of ints |
| Cdouble_array | An array of double floating point numbers |
| Castring | Provides a dynamically resizable ASCII character string |
| Ca_sprintf | A_sprintf is a specialization of astring that provides printf style support |
| Cbase_string | Defines the base class for all string processing objects in hoople |
| Cbyte_array | A very common template for a dynamic array of bytes |
| Cpackable | A base class for objects that can pack into an array of bytes |
| Ccommon | "common" class defines our common_outcomes |
| Cattribute | Defines an attribute base class that supports get and set operations |
| Cequalizable | Base class for object that can tell itself apart from other instances |
| Corderable | A base for objects that can be alphabetically (lexicographically) ordered |
| Cbase_logger | Provides an abstract base for logging mechanisms |
| Cbase_synchronizer | Interface for a simple form of synchronization |
| Cclonable | A clonable object knows how to make copy of itself |
| Cnameable | Root object for any class that knows its own name |
| Ctext_formable | A base class for objects that can provide a synopsis of their current state |
| Choople_standard | Base class of the most easily used and tested objects in the library |
| Ctext_streamable | Base for classes that can stream their contents out to a textual form |
| Cenhance_cpp | |
| Cenvironment | Provides access to the system's environment variables |
| Cmutex | |
| Cauto_synchronizer | Auto_synchronizer simplifies concurrent code by automatically unlocking |
| Coutcome | Outcomes describe the state of completion for an operation |
| ►Nconfiguration | |
| Cregistry_configurator | Supports the configurator class interface on the windows registry |
| Capplication_configuration | Defines installation-specific locations in the file system |
| Cconfig_watcher | Object that watches the contents of a configurator for changes |
| Cconfiglet | Represents an atom of configuration info |
| Cstring_configlet | String_configlet holds onto a character string value |
| Cint_configlet | Stores a simple integer in a configuration repository |
| Cbounded_int_configlet | Stores an integer in a configuration repository with range checking |
| Cconfiguration_list | Manages a collection of configlet objects |
| Cconfigurator | Provides a base class for configuration repositories |
| Cini_configurator | Supports a configurator-based interface on text initialization files |
| Cini_parser | Parses strings in the fairly well-known INI file format |
| Cini_roller | Implements an id generator that interacts with a configuration file |
| Csection_manager | Tracks a collection of related configurations in a configurator |
| Csystem_values | This class provides a way to look up generated values used in the code base |
| Ctable_configurator | Supports the configurator interface using a collection of string tables |
| Cvariable_tokenizer | Manages a bank of textual definitions of variables |
| ►Ncromp | |
| Ccromp_client | |
| Ccromp_common | A few common features used by both CROMP clients and servers |
| Ccromp_security | Implements the client registry in a cromp-appropriate manner |
| Ccromp_server | |
| Ccromp_transaction | |
| ►Ncrypto | |
| Cblowfish_crypto | Provides BlowFish encryption on byte_arrays using the OpenSSL package |
| Crsa_crypto | Supports public key encryption and decryption |
| Cssl_init | Some initialization for the RSA and blowfish crypto |
| Neml_to_txt | |
| Nfilename_helper | |
| ►Nfilesystem | A platform independent way to obtain the timestamp of a file |
| Cbyte_filer | Provides file managment services using the standard I/O support |
| Cdirectory | Implements a scanner that finds all filenames in the directory specified |
| Cdirectory_tree | An object that traverses directory trees and provides a view of all files |
| Cfile_info | Encapsulates some measures and calculations based on a file's contents |
| Cfile_time | |
| Cfilename | Provides operations commonly needed on file names |
| Cfilename_list | |
| Cfilename_tree | |
| Cfname_tree_creator | This is the tree factory used in the recursive_unpack |
| Cfile_transfer_header | Describes one portion of an ongoing file transfer |
| Cheavy_file_operations | Provides serious file operations, such as copy and partial writing |
| Chuge_file | Supports reading and writing to very large files, > 4 gigabytes |
| ►Nfix_project_references | |
| Cfix_project_references | |
| Ngenerate_aliases | -new |
| Ngenerate_aliases-new | |
| ►Ngeometric | Contains all of our objects for geometry and avoids name clashes |
| Cangle | |
| Cdouble_angle | Double_angle provides a non-templated class for forward declarations |
| Ccartesian_point | Provides a geometric point that use double floating points numbers |
| Ccartesian_line | Provides a geometric line that use double floating points numbers |
| Ccartesian_rectangle | Provides a geometric rectangle that use double floating points numbers |
| Ccircle | Represents a geometric circle |
| Cellipse | Represents a geometric ellipse |
| Cline | Represents a geometric line segment |
| Cpoint | Represents a geometric point |
| Cpolygon | |
| Crectangle | Represents a geometric rectangle |
| Cscreen_point | Simple class used to describe points on a graphics screen |
| Cscreen_rectangle | Represents a rectangle as interpreted on display screens |
| Ctriangle | Represents a geometric triangle |
| Crectangle_warper | |
| ►Nloggers | A logger that sends to the console screen using the standard output device |
| Ccombo_logger | Combines a file_logger with a console logger, behaving like the 'tee' command |
| Cconsole_logger | |
| Ccritical_events | Provides a means of logging events for runtime problems |
| Ceol_aware | Provides an abstract base for logging mechanisms |
| Cfile_logger | |
| Cfilter_set | A simple object that wraps a templated set of ints |
| Cprogram_wide_logger | A class that provides logging facilities vertically to all of hoople |
| Cnull_logger | Trash can for logging; throws away all entries |
| Cstandard_log_base | A base class for a very usable logger with a filter_set and eol awareness |
| ►Nmathematics | An extension to floating point primitives providing approximate equality |
| ►Caverager | Maintains a list of numbers and provides the average for them |
| Cweighted_entry | Structure holding a weighted chunk of the average |
| Cint_averager | Keeps an average on a stream of integers |
| Cchaos | Platform-independent way to acquire random numbers in a specific range |
| Cdouble_plus | |
| Cmath_ops | A grab-bag of mathematical functions that are frequently useful |
| ►Nnodes | |
| ►Cdoubly_linked_list | Implements a guarded, doubly linked list structure |
| Citerator | Iterators allow the list to be traversed |
| Cnode | An object representing the interstitial cell in most linked data structures |
| Cbasket | Basket class holds an object and supports connecting them as nodes |
| Cpackable_tree | A tree object that can be packed into an array of bytes and unpacked again |
| Cpackable_tree_factory | |
| Cpath | A method for tracing a route from a tree's root to a particular node |
| Csingly_linked_list | Implements a singly-linked list structure |
| Csymbol_tree | A symbol table that supports scope nesting and/or trees of symbol tables |
| ►Ctree | A dynamically linked tree with an arbitrary number of branches |
| Citerator | |
| ►Noctopi | |
| Centity_data_bin | Stores a set of infotons grouped by the entity that owns them |
| Coctopus_entity | Provides a way of identifying users of an octopus object |
| Coctopus_request_id | Identifies requests made on an octopus by users |
| Coctopus_request_id_set | Collection of unique request ids |
| Cinfoton_id_pair | Implements a list of waiting infotons |
| Cinfoton_list | List of pending requests and who made them |
| Cidentity_infoton | Encapsulates just the action of identifying an octopus user |
| Cidentity_tentacle | Supports an early step in using octopus services: getting an identity |
| Cinfoton | An infoton is an individual request parcel with accompanying information |
| Coctopus | Octopus is a design pattern for generalized request processing systems |
| Ctentacle | Manages a service within an octopus by processing certain infotons |
| Ctentacle_helper | Prefab implementations for parts of the tentacle object |
| Cunhandled_request | Informs the caller that a request type was unknown to the server octopus |
| Cunhandled_request_tentacle | |
| Cencryption_infoton | Encapsulates the chit-chat necessary to establish an encrypted connection |
| Cencryption_tentacle | Processes the encryption_infoton object for setting up an encrypted channel |
| Cencryption_wrapper | Wraps an encrypted infoton when the octopus is in an encrypted mode |
| Cunwrapping_tentacle | This simple tentacle just unpacks the encryption_wrapper infoton |
| Centity_registry | Provides a security model for the octopus |
| Cblank_entity_registry | Blank_entity_registry can be used when security is not an issue |
| Cfile_transfer_infoton | Base objects used by the file transfer tentacle to schedule transfers |
| Cfile_transfer_tentacle | Manages the transferrence of directory trees from one place to another |
| Coctenc_key_record | Tracks the keys that have been assigned for a secure channel |
| Ckey_repository | |
| Clogin_tentacle | Provides rudimentary login services |
| Crecursive_file_copy | Copies entire hierarchies in the file system from one place to another |
| Csecurity_infoton | Encapsulates security activities (login, logout, refresh) |
| Csimple_entity_registry | Provides a basic implementation of an entity_registry for octopus |
| None_line_cert_to_pem | |
| ►Norg | |
| ►Nfeistymeow | |
| ►Nalgorithms | |
| CBinarySearchTree< K extends Comparable | |
| CRectangleIntersector | |
| CSubstringFinder | |
| ►Ndragdrop | |
| ►Cdragdrop_list_test | |
| CCustomCellRenderer | |
| CDraggableDroppableList | |
| ►Cdragdrop_tree_test | |
| CCustomCellRenderer | |
| CDraggableDroppableTree | |
| CDragonTransferHandler | |
| CIDragonDropDataProvider | |
| CListTransferable | |
| ►Nencryption | |
| CUnixCrypt | |
| ►Nexample | |
| CZSorter< T extends Comparable | |
| ►Nfilesystem | |
| CPathHelper | |
| ►Nnetworking | |
| ►CBasicWebServer | |
| CservingThread | |
| ►Nprocess | |
| Cethread | |
| ►Nsystem | |
| CRegistryEditor | |
| CRegistryEditorTestCase | |
| ►Ntextual | |
| CSimpleDictionary | |
| CWordBreakFinder | |
| ►Nutility | |
| CExtemporizer | |
| CNaming | |
| ►Nwindowing | |
| CExitListener | |
| CWindowUtilities | |
| ►Ngffs | |
| ►Napplication | |
| CMemoryFootprint | |
| CProgramTools | |
| ►Ncache | |
| CTimedOutLRUCache | |
| ►Ncompression | |
| CPackTar | |
| ►CUnpackTar | |
| CarchiveType | |
| ►Nfilesystem | |
| CFileSystemHelper | |
| ►Nio | |
| CIOUtils | |
| ►Nnetwork | |
| CDeadHostChecker | |
| CURLDownloader | |
| ►Nversion | |
| CVersion | |
| CVersionManager | |
| ►Nphrase_replacer | |
| Cphrase_replacer | |
| ►Nprocesses | |
| Cconfigured_applications | Manages the initialization file for a set of registered applications |
| Cethread | Provides a platform-independent object for adding threads to a program |
| Cheartbeat | Monitors a periodic heartbeat to track a resource's health |
| Cchar_star_array | Simple wrapper of an array of char *, used by launch_process::break_line() |
| Claunch_process | Provides the capability to start processes in a variety of ways to run other applications |
| Cletter | A virtual base class for pieces of "mail". Used by the mailbox object |
| ►Cmail_stop | Base class for routes on which letters are automatically delivered |
| Citems_to_deliver | |
| Cmailbox | Implements a thread safe "mail" delivery system |
| COS_event | Models an OS-level event so we can represent activities occurring there |
| Cpost_office | Manages a collection of mailboxes and implements delivery routes for mail |
| Cprocess_control | Provides a bridge to the operating system for information on processes |
| Cprocess_entry | Encapsulates information about OS processes |
| Cprocess_entry_array | Handy class that implements an array of process entries |
| Crendezvous | An inter-process synchronization primitive |
| Csafe_callback | A reasonably easy way to make callbacks safe from shutdown ordering issues |
| Ccallback_data_block | Simple place-holder that anonymizes the type passed to the callback |
| Csafe_roller | Implements a thread-safe roller object |
| Cstate_machine | Monitors objects with multiple states and the transitions between states |
| Ctransition_map | The transition_map manages state machines and causes state changes to occur |
| Cthread_cabinet | Manages a collection of threads |
| ►Nsockets | Provides access to the operating system's socket methods |
| Cbase_address | |
| Cinternet_address | This type of address describes a destination out on the internet |
| Cmachine_uid | |
| Cinternet_machine_uid | |
| Cmachine_uid_array | |
| Crange_limiter | Mechanism for restricting access to a resource by the client's IP address |
| Craw_socket | |
| Csequence_tracker | This will keep track of sequencing for a communication process on a per host basis |
| Csocket_data | |
| Csocket_minder | |
| Cspan_manager | Manages lists of numbers representing the completion of some activity |
| Cspocket | Abstraction for a higher-level BSD socket that is platform independent |
| Csubnet_calculator | Provides an easy way to determine the range of a subnet given the subnet mask and a sample IP address |
| Ctcpip_stack | Helpful functions for interacting with TCP/IP stacks |
| Ccommunication_commons | Defines our communication related outcome values |
| Cthroughput_counter | Reports on average bandwidth of the transfers being measured |
| Nstring_convert | A collection of conversions between popular string types |
| ►Nstructures | A dynamic container class that holds any kind of object via pointers |
| Camorph | |
| Cbit_vector | An array of bits with operations for manipulating and querying individual bits |
| Crotating_byte_hasher | Implements a hashing algorithm based on the contents stored in an object |
| Cchecksums | |
| Cinternal_hash_array | |
| Chashing_algorithm | A hashing algorithm takes a key and derives a related integer from it |
| Chash_table | Implements hashing into buckets for quick object access |
| Chash_wrapper | |
| Cbucket | |
| Cint_hash | A hash table for storing integers |
| Cmatrix | Represents a two-dimensional array of objects |
| Cint_matrix | A matrix of integers |
| Cstring_matrix | A matrix of strings |
| Cdouble_matrix | A matrix of double floating point numbers |
| Cmemory_limiter | Tracks memory currently in use by memory manager objects |
| Cpointer_hash | A hash table for storing pointers |
| Croller | Maintains a pseudo-unique identifier number and issues a new one on demand |
| Cint_roller | A roller that's based on integers. This is the most common type so far |
| Cset | Emulates a mathematical set, providing several standard set operations |
| Cint_set | A simple object that wraps a templated set of ints |
| Cstring_set | A simple object that wraps a templated set of strings |
| Cpointer_set | A set of pointers that hides the platform's pointer size |
| Cstack | An abstraction that represents a stack data structure |
| Cstatic_memory_gremlin | Holds onto memory chunks that are allocated globally within the program |
| Cstring_array | An array of strings with some additional helpful methods |
| Cstring_hash | Implements a hash table indexed on character strings |
| Cstring_hasher | Implements a simple hashing algorithm for strings |
| Castring_hasher | |
| Cstring_table | Provides a symbol_table that holds strings as the content |
| Cinternal_symbol_indexer | |
| Cinternal_symbol_info | |
| Cinternal_symbol_list | |
| Csymbol_table | Maintains a list of names, where each name has a type and some contents |
| Cinternal_pointer_hider | |
| Csym_tab_apply_data | |
| Cunique_id | Provides an abstraction for the responsibilities of a unique identifier |
| Corderable_unique_id | A unique identifier class that supports sorting |
| Cunique_int | A unique identifier based on integers |
| Cversion | Holds a file's version identifier |
| Cversion_record | Holds all information about a file's versioning |
| ►Nsynchronic | |
| Cbundle_list | Provides a structure for managing a collection of synchronizables |
| Clist_manager | Supports distributed management of a list of object states |
| Clist_synchronizer | |
| Csynchronizable | Encapsulates all of the attributes known for an object |
| Nsystem_checkup | |
| ►Ntest | |
| ►Njava | |
| ►Nsemantics | |
| Cbehavior_of_finally_when_exception_in_catch | |
| ►Ntextual | |
| Cbyte_formatter | Provides functions for manipulating arrays of bytes |
| Clist_parsing | A set of functions that help out with parsing lists of things |
| Cparser_bits | Warehouses some functions that are often useful during text parsing |
| Cstring_manipulation | Provides various functions for massaging strings |
| Cxml_generator | Supports simple XML output with consistency checking |
| Cxml_parser | Parses XML input and invokes a callback for the different syntactic pieces |
| ►Ntimely | #include <time.h> |
| Cclock_time | A specific point in time as represented by a 24 hour clock |
| Cday_in_year | An object that represents a particular day in a year |
| Ctime_locus | An object that represents a particular point in time |
| Cstopwatch | A class for measuring event durations in real time |
| Ctime_control | Provides some functions that affect time, or ones perception of time |
| Ctime_stamp | Represents a point in time relative to the operating system startup time |
| Ctimeable | Timeable is the base for objects that can be hooked into timer events |
| Ctimer_driver | Provides platform-independent timer support |
| ►Nunit_test | Useful support functions for unit testing, especially within hoople |
| Cunit_base | |
| ►Nversions | |
| Cversion_checker | Provides version checking for shared libraries |
| Cversion_ini | This provides support for writing windows version files |