gen_vectors_make_opaque.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /******************************************************************************
  2. *
  3. * Copyright (C) 2021 by
  4. * The Salk Institute for Biological Studies
  5. *
  6. * Use of this source code is governed by an MIT-style
  7. * license that can be found in the LICENSE file or at
  8. * https://opensource.org/licenses/MIT.
  9. *
  10. ******************************************************************************/
  11. #ifndef GEN_VECTORS_MAKE_OPAQUE_H
  12. #define GEN_VECTORS_MAKE_OPAQUE_H
  13. #include <vector>
  14. #include <memory>
  15. #include "pybind11/include/pybind11/pybind11.h"
  16. #include "defines.h"
  17. namespace MCell {
  18. namespace API {
  19. class BaseChkptMol;
  20. class Complex;
  21. class Component;
  22. class ComponentType;
  23. class Count;
  24. class ElementaryMolecule;
  25. class ElementaryMoleculeType;
  26. class GeometryObject;
  27. class InitialSurfaceRelease;
  28. class MoleculeReleaseInfo;
  29. class ReactionRule;
  30. class ReleaseSite;
  31. class Species;
  32. class SurfaceClass;
  33. class SurfaceProperty;
  34. class SurfaceRegion;
  35. class VizOutput;
  36. } // namespace API
  37. } // namespace MCell
  38. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::BaseChkptMol>>);
  39. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::Complex>>);
  40. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::Component>>);
  41. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::ComponentType>>);
  42. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::Count>>);
  43. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::ElementaryMolecule>>);
  44. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::ElementaryMoleculeType>>);
  45. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::GeometryObject>>);
  46. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::InitialSurfaceRelease>>);
  47. PYBIND11_MAKE_OPAQUE(std::vector<std::vector<double>>);
  48. PYBIND11_MAKE_OPAQUE(std::vector<std::vector<int>>);
  49. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::MoleculeReleaseInfo>>);
  50. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::ReactionRule>>);
  51. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::ReleaseSite>>);
  52. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::Species>>);
  53. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::SurfaceClass>>);
  54. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::SurfaceProperty>>);
  55. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::SurfaceRegion>>);
  56. PYBIND11_MAKE_OPAQUE(std::vector<std::shared_ptr<MCell::API::VizOutput>>);
  57. PYBIND11_MAKE_OPAQUE(std::vector<double>);
  58. PYBIND11_MAKE_OPAQUE(std::vector<int>);
  59. PYBIND11_MAKE_OPAQUE(std::vector<std::string>);
  60. PYBIND11_MAKE_OPAQUE(std::vector<uint64_t>);
  61. #endif // GEN_VECTORS_MAKE_OPAQUE_H