OpenPit C++ SDK
C++17 SDK for the OpenPit pre-trade risk engine
openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode > Class Template Reference

Public Member Functions

template<typename P = ClientPolicy, std::enable_if_t< detail::HasAdjustment< P >::value, int > = 0>
PolicyAccountAdjustmentResult ApplyAccountAdjustment (const ::openpit::accountadjustment::Context &context, ::openpit::param::AccountId accountId, const ::openpit::accountadjustment::AccountAdjustment &adjustment, ::openpit::tx::Mutations &mutations, AccountOutcomes &outcomes) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
bool ApplyExecutionReport (const openpit::ExecutionReport &report) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportFull< P, ClientReport >::value||detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
std::vector<::openpit::accounts::AccountBlockApplyExecutionReport (const PostTradeContext &context, const openpit::ExecutionReport &report, PostTradeAdjustments &adjustments, PostTradePnls &pnls) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStart< P, ClientOrder >::value, int > = 0>
std::optional< RejectCheckPreTradeStart (const openpit::Order &order) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStartDryRun< P, ClientOrder >::value, int > = 0>
std::optional< RejectCheckPreTradeStartDryRun (const openpit::Order &order) const
 
std::string_view Name () const noexcept
 
void PerformPreTradeCheck (const Context &context, ::openpit::tx::Mutations &mutations, Result &result, PolicyDecision &decision) const
 
void PerformPreTradeCheck (const Context &context, PolicyDecision &decision) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasMainDryRunFull< P, ClientOrder >::value||detail::HasMainDryRunLegacy< P, ClientOrder >::value, int > = 0>
void PerformPreTradeCheckDryRun (const Context &context, ::openpit::tx::Mutations &mutations, Result &result, PolicyDecision &decision) const
 
 PolicyAdapter (ClientPolicy policy)
 

Constructor & Destructor Documentation

◆ PolicyAdapter()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PolicyAdapter ( ClientPolicy  policy)
inlineexplicit

Member Function Documentation

◆ ApplyAccountAdjustment()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasAdjustment< P >::value, int > = 0>
PolicyAccountAdjustmentResult openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::ApplyAccountAdjustment ( const ::openpit::accountadjustment::Context context,
::openpit::param::AccountId  accountId,
const ::openpit::accountadjustment::AccountAdjustment adjustment,
::openpit::tx::Mutations mutations,
AccountOutcomes outcomes 
) const
inline

◆ ApplyExecutionReport() [1/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
bool openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::ApplyExecutionReport ( const openpit::ExecutionReport report) const
inline

◆ ApplyExecutionReport() [2/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportFull< P, ClientReport >::value||detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
std::vector<::openpit::accounts::AccountBlock> openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::ApplyExecutionReport ( const PostTradeContext context,
const openpit::ExecutionReport report,
PostTradeAdjustments adjustments,
PostTradePnls pnls 
) const
inline

◆ CheckPreTradeStart()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStart< P, ClientOrder >::value, int > = 0>
std::optional<Reject> openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::CheckPreTradeStart ( const openpit::Order order) const
inline

◆ CheckPreTradeStartDryRun()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStartDryRun< P, ClientOrder >::value, int > = 0>
std::optional<Reject> openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::CheckPreTradeStartDryRun ( const openpit::Order order) const
inline

◆ Name()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
std::string_view openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::Name ( ) const
inlinenoexcept

◆ PerformPreTradeCheck() [1/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
void openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PerformPreTradeCheck ( const Context context,
::openpit::tx::Mutations mutations,
Result result,
PolicyDecision decision 
) const
inline

◆ PerformPreTradeCheck() [2/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
void openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PerformPreTradeCheck ( const Context context,
PolicyDecision decision 
) const
inline

◆ PerformPreTradeCheckDryRun()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasMainDryRunFull< P, ClientOrder >::value||detail::HasMainDryRunLegacy< P, ClientOrder >::value, int > = 0>
void openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PerformPreTradeCheckDryRun ( const Context context,
::openpit::tx::Mutations mutations,
Result result,
PolicyDecision decision 
) const
inline