|
OpenPit C++ SDK
C++17 SDK for the OpenPit pre-trade risk engine
|
Public Member Functions | |
| ::openpit::accounts::Accounts | Accounts () const noexcept |
| template<typename Adjustment > | |
| AdjustmentResult | ApplyAccountAdjustment (::openpit::param::AccountId accountId, const std::vector< Adjustment > &adjustments) const |
| ::openpit::pretrade::DropCopyResult | ApplyDropCopy (const ::openpit::Order &order) const |
| Applies an already executed order without enforcing existing account and account-group blocks or ordinary policy rejects. More... | |
| PostTradeResult | ApplyExecutionReport (const ::openpit::ExecutionReport &report) const |
| ::openpit::Configurator | Configure () const noexcept |
| Engine ()=default | |
| ::openpit::pretrade::ExecuteResult | ExecutePreTrade (const ::openpit::Order &order) const |
| ::openpit::pretrade::DryRunReport | ExecutePreTradeDryRun (const ::openpit::Order &order) const |
| operator bool () const noexcept | |
| template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0> | |
| ::openpit::pretrade::StartResult | StartPreTrade (OrderT &&order) const |
| ::openpit::pretrade::StartResult | StartPreTrade (std::unique_ptr< const ::openpit::Order > order) const |
| ::openpit::pretrade::DryRunReport | StartPreTradeDryRun (const ::openpit::Order &order) const |
|
default |
|
inlinenoexcept |
|
inline |
|
inline |
Applies an already executed order without enforcing existing account and account-group blocks or ordinary policy rejects.
On accept the result carries a pretrade::DropCopyOperation representing applied-but-not- finalized state; a fatal evaluation failure carries the rejects instead. Throws openpit::Error on a boundary failure.
The returned operation owns finalization exactly like a reservation: commit applies the prepared state, rollback compensates it, and destruction rolls back an unresolved operation. Account-control operations and rate-limit attempts are applied before this call returns and stay outside that finalization boundary.
Drop copy requires a readable account id: an order whose account id cannot be read is rejected with RejectCode::MissingRequiredField before any policy runs, so no policy observes it and no state is touched.
A fully synchronized engine accepts concurrent calls for the same account, but individual storage accesses may interleave. Callers that require whole-pipeline isolation must serialize those calls externally.
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlineexplicitnoexcept |
|
inline |
|
inline |
|
inline |