MarkLogic Connect
MarkLogic Connect Client API Collection
mlclient.hpp
1 /*
2  * Copyright (c) MarkLogic Corporation. All rights reserved.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  * http://www.apache.org/licenses/LICENSE-2.0
7  *
8  * Unless required by applicable law or agreed to in writing, software
9  * distributed under the License is distributed on an "AS IS" BASIS,
10  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  * See the License for the specific language governing permissions and
12  * limitations under the License.
13  */
14 #pragma once
15 
16 #ifndef MLCLIENT_HPP
17 #define MLCLIENT_HPP
18 
19 #include <memory>
20 
21 //#include "mlclient/ext/easylogging++.h"
22 
23 #ifdef _WIN32
24 
25 #ifdef MLCLIENT_EXPORTS
26 #define MLCLIENT_API __declspec(dllexport)
27 #else
28 #define MLCLIENT_API __declspec(dllimport)
29 #endif
30 
31 #include <ostream>
32 #include <sstream>
33 #include <string>
34 
35 /*
36 namespace mlclient {
37  MLCLIENT_API el::base::type::StoragePointer sharedLoggingRepository();
38 }
39 */
40 
41 #else
42 #define MLCLIENT_API
43 #endif
44 
45 namespace mlclient {
46  // note: this implementation does not disable this overload for array types
47  template<typename T, typename... Args>
48  std::unique_ptr<T> make_unique(Args&&... args)
49  {
50  return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
51  }
52 } // end namespace mlclient
53 
54 #endif /* defined(MLCLIENT_HPP) */
the namespace which wraps all Core Public C++ API classes.
Definition: Connection.hpp:36