20#ifndef ORES_TRADING_DOMAIN_RATES_INSTRUMENT_VARIANT_HPP
21#define ORES_TRADING_DOMAIN_RATES_INSTRUMENT_VARIANT_HPP
24#include "ores.trading.api/domain/fra_instrument.hpp"
25#include "ores.trading.api/domain/vanilla_swap_instrument.hpp"
26#include "ores.trading.api/domain/cap_floor_instrument.hpp"
27#include "ores.trading.api/domain/swaption_instrument.hpp"
28#include "ores.trading.api/domain/balance_guaranteed_swap_instrument.hpp"
29#include "ores.trading.api/domain/callable_swap_instrument.hpp"
30#include "ores.trading.api/domain/knock_out_swap_instrument.hpp"
31#include "ores.trading.api/domain/inflation_swap_instrument.hpp"
32#include "ores.trading.api/domain/rpa_instrument.hpp"
34namespace ores::trading::domain {
36using rates_instrument_variant = std::variant<
38 vanilla_swap_instrument,
41 balance_guaranteed_swap_instrument,
42 callable_swap_instrument,
43 knock_out_swap_instrument,
44 inflation_swap_instrument,