libopenraw  0.3.7
capi.h
1 /* -*- mode:c++; indent-tabs-mode:nil; c-basic-offset:4; tab-width:4; -*- */
2 
3 #pragma once
4 
5 #include <memory>
6 
7 /*
8  * Use this to mark a symbol to be exported
9  */
10 #define API_EXPORT __attribute__ ((visibility ("default")))
11 
13 template<class T>
15 public:
16  WrappedPointer(const std::shared_ptr<T>& p)
17  : m_p(p)
18  {}
19  const std::shared_ptr<T>& ptr() const
20  { return m_p; }
21 private:
22  std::shared_ptr<T> m_p;
23 };
Wrap a pointer so that we can return it.
Definition: capi.h:14