aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
BddEngine.h
Go to the documentation of this file.
1 #pragma once
2 
7 #include <aws/crt/Types.h>
9 
10 struct aws_endpoints_bdd_engine;
11 
12 namespace Aws
13 {
14  namespace Crt
15  {
16  namespace Endpoints
17  {
29  {
30  public:
36  BddEngine(
37  const ByteCursor &bytecodeCursor,
38  const ByteCursor &partitionsCursor,
39  Allocator *allocator = ApiAllocator()) noexcept;
40 
41  ~BddEngine() = default;
42 
43  BddEngine(const BddEngine &) = delete;
44  BddEngine &operator=(const BddEngine &) = delete;
45  BddEngine(BddEngine &&) = delete;
46  BddEngine &operator=(BddEngine &&) = delete;
47 
51  operator bool() const noexcept { return m_engine != nullptr; }
52 
57  Optional<ResolutionOutcome> Resolve(const RequestContext &context) const;
58 
59  private:
61  };
62  } // namespace Endpoints
63  } // namespace Crt
64 } // namespace Aws
#define AWS_CRT_CPP_API
Definition: Exports.h:36
Definition: BddEngine.h:28
aws_allocator Allocator
Definition: Allocator.h:14
aws_byte_cursor ByteCursor
Definition: Types.h:31
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition: Allocator.cpp:24
Definition: RuleEngine.h:25
Definition: Optional.h:18
std::unique_ptr< T, std::function< void(T *)>> ScopedResource
Definition: Types.h:168
Definition: Allocator.h:10