| Ndrogon | Drogon Test is a minimal effort test framework developed because the major C++ test frameworks doesn't handle async programs well. Drogon Test's syntax is inspired by both Google Test and Catch2 |
| Ninternal | |
| CBinderArgTypeTraits | |
| CBinderArgTypeTraits< T * > | |
| CBinderArgTypeTraits< T & > | |
| CBinderArgTypeTraits< T && > | |
| CBinderArgTypeTraits< const T && > | |
| CBinderArgTypeTraits< const T & > | |
| CHttpBinderBase | |
| CHttpBinder | |
| CTimerAwaiter | |
| CLoopAwaiter | |
| CSwitchThreadAwaiter | |
| CEndAwaiter | |
| CEventLoopAwaiter | |
| CWhenAllAwaiter | |
| CWhenAllAwaiter< std::vector< Task< T > > > | |
| CWhenAllAwaiter< std::vector< Task< void > > > | |
| Cresumable_type | |
| CFunctionTraits | |
| CFunctionTraits< ReturnType(*)(Arguments...)> | |
| CFunctionTraits< ReturnType(*)(const HttpRequestPtr &req, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)> | |
| CFunctionTraits< ReturnType(*)(T &&customReq, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)> | |
| CFunctionTraits< ReturnType(*)(const HttpRequestPtr &req, RequestStreamPtr &&streamCtx, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)> | |
| CFunctionTraits< ReturnType(ClassType::*)(Arguments...) const > | |
| CFunctionTraits< ReturnType(ClassType::*)(Arguments...)> | |
| CFunctionTraits< ReturnType(*)(HttpRequestPtr &req, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)> | |
| CFunctionTraits< ReturnType(*)(HttpRequestPtr &&req, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)> | |
| CHttpConstraint | |
| CCanConvertToString | |
| CCanConvertToString< T, std::void_t< decltype(std::to_string(std::declval< T >()))> > | |
| CCanConvertFromStringStream | |
| CCanConstructFromString | |
| CCanConvertFromString | |
| CCanConvertFromStringStream< T, std::void_t< decltype(std::declval< std::stringstream & >() > > std::declval< T & >())> > | |
| Ntest | |
| Ninternal | |
| Cis_printable | |
| Cis_printable< _Tp, std::enable_if_t< std::is_same_v< decltype(std::cout<< std::declval< _Tp >()), std::ostream & > > > | |
| CComparsionResult | |
| CLhs | |
| CDecomposer | |
| CThreadSafeStream | |
| CCaseBase | |
| CCase | |
| CTestCase | |
| Nutils | |
| Ninternal | |
| CSafeStringHash | |
| Nplugin | |
| CRedirector | This plugin is used to redirect requests to proper URLs. It is a helper plugin for other plugins, e.g. SlashRemover. Users can register a handler to this plugin to redirect requests. All handlers will be called in the order of registration. The json configuration is as follows: |
| CSecureSSLRedirector | This plugin is used to redirect all non-HTTPS requests to HTTPS (except for those URLs matching a regular expression listed in the 'ssl_redirect_exempt' list) |
| CAccessLogger | This plugin is used to print all requests to the log |
| CRealIpResolver | This plugin is used to resolve client real ip from HTTP request |
| CHodor | The Hodor plugin implements a global rate limiter that limits the number of requests in a particular time unit. The json configuration is as follows: |
| CSlashRemover | The SlashRemover plugin redirects requests to proper paths if they contain excessive slashes. The json configuration is as follows: |
| CGlobalFilters | This plugin is used to add global filters to all HTTP requests. The json configuration is as follows: |
| CPromExporter | The PromExporter plugin implements a prometheus exporter. The json configuration is as follows: |
| Norm | |
| Ninternal | |
| CFunctionTraits | |
| CFunctionTraits< void(*)()> | |
| CFunctionTraits< ReturnType(ClassType::*)(Arguments...) const > | |
| CFunctionTraits< ReturnType(ClassType::*)(Arguments...)> | |
| CFunctionTraits< void(*)(const Result &)> | |
| CFunctionTraits< void(*)(const DrogonDbException &)> | |
| CFunctionTraits< void(*)(const std::exception_ptr &)> | |
| CFunctionTraits< ReturnType(*)(bool, Arguments...)> | |
| CFunctionTraits< ReturnType(*)(Arguments...)> | |
| CTraits | |
| CTraits< T, false > | |
| Chas_sqlForFindingByPrimaryKey | |
| Chas_sqlForDeletingByPrimaryKey | |
| CVectorTypeTraits | |
| CVectorTypeTraits< std::vector< std::shared_ptr< T > > > | |
| CVectorTypeTraits< std::string > | |
| CCallbackArgTypeTraits | |
| CCallbackArgTypeTraits< T * > | |
| CCallbackArgTypeTraits< T & > | |
| CCallbackArgTypeTraits< T && > | |
| CCallbackArgTypeTraits< const T & > | |
| CCallbackHolderBase | |
| CCallbackHolder | |
| CSqlBinder | |
| CArrayParser | Low-level array parser |
| CFilter | |
| CJoinClause | |
| CTransformBuilder | |
| CBaseBuilder | |
| CCustomSql | Wrapper for custom SQL string |
| CCriteria | This class represents a comparison condition |
| CDbClient | Database client abstract class |
| CTransaction | |
| CPostgresConfig | |
| CMysqlConfig | |
| CSqlite3Config | |
| CDbListener | Database asynchronous notification listener abstract class |
| CDefaultValue | |
| CDrogonDbException | Mixin base class to identify drogon-db-specific exception types |
| CFailure | |
| CBrokenConnection | Exception class for lost or failed backend connection |
| CSqlError | Exception class for failed queries |
| CInDoubtError | "Help, I don't know whether transaction was committed successfully!" |
| CTransactionRollback | The backend saw itself forced to roll back the ongoing transaction |
| CSerializationFailure | Transaction failed to serialize. Please retry it |
| CStatementCompletionUnknown | We can't tell whether our last statement succeeded |
| CDeadlockDetected | The ongoing transaction has deadlocked. Retrying it may help |
| CInternalError | Internal error in internal library |
| CTimeoutError | Timeout error in when executing the SQL statement |
| CUsageError | Error in usage of drogon orm library, similar to std::logic_error |
| CArgumentError | Invalid argument passed to drogon orm lib, similar to std::invalid_argument |
| CConversionError | Value conversion failed, e.g. when converting "Hello" to int |
| CRangeError | Something is out of range, similar to std::out_of_range |
| CUnexpectedRows | Query returned an unexpected number of rows |
| CFeatureNotSupported | Database feature not supported in current setup |
| CDataException | Error in data provided to SQL statement |
| CIntegrityConstraintViolation | |
| CRestrictViolation | |
| CNotNullViolation | |
| CForeignKeyViolation | |
| CUniqueViolation | |
| CCheckViolation | |
| CInvalidCursorState | |
| CInvalidSqlStatementName | |
| CInvalidCursorName | |
| CSyntaxError | |
| CUndefinedColumn | |
| CUndefinedFunction | |
| CUndefinedTable | |
| CInsufficientPrivilege | |
| CInsufficientResources | Resource shortage on the server |
| CDiskFull | |
| COutOfMemory | |
| CTooManyConnections | |
| CField | Reference to a field in a result set |
| CMapper | The mapper template |
| CResult | Result set containing data returned by a query or command |
| CConstResultIterator | |
| CConstReverseResultIterator | |
| CRow | Reference to one row in a result |
| CConstRowIterator | |
| CConstReverseRowIterator | |
| CRawParameter | |
| CAttributes | This class represents the attributes stored in the HTTP request. One can add/get any type of data to/from an Attributes object |
| CCallbackEntry | A utility class for CacheMap |
| CCacheMap | Cache Map |
| CMapValue | |
| CCookie | This class represents a cookie entity |
| CDrClassMap | A map class which can create DrObjects from names |
| CDrObjectBase | The base class for all drogon reflection classes |
| CisAutoCreationClass | |
| CDrObject | |
| CDrTemplate | |
| CDrTemplateBase | The templating engine class |
| CHttpAppFramework | |
| CHttpClient | Asynchronous http client |
| CHttpControllerBase | The base class for HTTP controllers |
| CHttpController | The reflection base class template for HTTP controllers |
| CHttpFilterBase | The abstract base class for filters For more details on the class, see the wiki site (the 'Filter' section) |
| CHttpFilter | The reflection base class template for filters |
| CHttpMiddlewareBase | The abstract base class for middleware |
| CHttpMiddleware | The reflection base class template for middlewares |
| CHttpOptionsMiddlewareImpl | Simple middleware that tags OPTIONS requests |
| CHttpOptionsMiddlewareAuto | |
| CHttpOptionsMiddleware | |
| CHttpRequest | Abstract class for webapp developer to get or set the Http request; |
| CMultipartHeader | |
| CRequestStream | |
| CStreamError | |
| CRequestStreamReader | |
| CResponseStream | |
| CHttpResponse | |
| CHttpSimpleControllerBase | The abstract base class for HTTP simple controllers |
| CHttpSimpleController | The reflection base class template for HTTP simple controllers |
| CHttpViewData | This class represents the data set displayed in views |
| CIntranetIpFilter | A filter that prohibit access from external networks |
| CIOThreadStorage | Utility class for thread storage handling |
| CLocalHostFilter | A filter that prohibit access from other hosts |
| CHttpFile | This class represents a uploaded file by a HTTP request |
| CMultiPartParser | |
| CNotFound | This class is used by the drogon to generate the 404 page. Users don't use this class directly |
| CSession | This class represents a session stored in the framework. One can get or set any type of data to a session object |
| CUploadFile | |
| CWebSocketClient | WebSocket client abstract class |
| CWebSocketConnection | The WebSocket connection abstract class |
| CWebSocketControllerBase | The abstract base class for WebSocket controllers |
| CWebSocketController | The reflection base class template for WebSocket controllers |
| CTopic | This class template presents an unnamed topic |
| CPubSubService | This class template implements a publish-subscribe pattern with multiple named topics |
| CRateLimiter | This class is used to limit the number of requests per second |
| CSafeRateLimiter | |
| Cawait_result | |
| Cis_awaitable | |
| Cis_awaitable< T, std::void_t< decltype(internal::getAwaiter(std::declval< T >()))> > | |
| Cfinal_awaiter | An awaiter for Task::promise_type::final_suspend(). Transfer execution back to the coroutine who is co_awaiting this Task |
| Ctask_awaiter | Convert Task to an awaiter when it is co_awaited. Following things will happen: |
| CTask | |
| Cpromise_type | |
| CTask< void > | |
| Cpromise_type | |
| CAsyncTask | |
| Cpromise_type | |
| CCallbackAwaiter | |
| CCallbackAwaiter< void > | |
| Cis_resumable | |
| Cis_resumable< T, std::void_t< decltype(internal::getAwaiter(std::declval< T >()))> > | |
| Cis_resumable< AsyncTask, std::void_t< AsyncTask > > | |
| CMutex | |
| COStringStream | |
| CPluginBase | The abstract base class for plugins |
| CIsPlugin | |
| CPlugin | The reflection base class for plugins |
| CRestfulController | This class is a helper class for the implementation of restful api controllers generated by the drogon_ctl command |