10 #include <morphio/morphology.h>
11 #include <morphio/mut/morphology.h>
23 template <
class T,
class U =
void>
29 template <
class T,
class U =
void>
30 struct enable_if_mutable:
public std::enable_if<std::is_same<T, mut::Morphology>::value, U> {};
35 Collection(std::shared_ptr<CollectionImpl> collection);
49 std::vector<std::string> extensions =
50 std::vector<std::string>{
".h5",
".H5",
".asc",
".ASC",
".swc",
".SWC"});
57 const std::string& morph_name,
59 std::shared_ptr<WarningHandler> warning_handler =
nullptr)
const;
66 const std::string& morph_name,
68 std::shared_ptr<WarningHandler> warning_handler =
nullptr)
const;
77 std::vector<std::string> morphology_names,
79 std::shared_ptr<WarningHandler> warning_handler =
nullptr)
const;
89 std::vector<size_t>
argsort(
const std::vector<std::string>& morphology_names)
const;
105 std::shared_ptr<CollectionImpl> _collection;
108 class LoadUnorderedImpl;
149 Iterator(std::shared_ptr<LoadUnorderedImpl> load_unordered_impl,
size_t k);
151 template <
class U = M>
154 template <
class U = M>
160 bool operator==(
const Iterator& other)
const;
161 bool operator!=(
const Iterator& other)
const;
165 std::shared_ptr<LoadUnorderedImpl> _load_unordered_impl;
169 LoadUnordered(std::shared_ptr<LoadUnorderedImpl> load_unordered_impl);
175 std::shared_ptr<LoadUnorderedImpl> _load_unordered_impl;
192 Collection::load<mut::Morphology>(
const std::string& morph_name,
193 unsigned int options,
194 std::shared_ptr<WarningHandler> warning_handler)
const;
197 Collection::load<Morphology>(
const std::string& morph_name,
198 unsigned int options,
199 std::shared_ptr<WarningHandler> warning_handler)
const;
202 std::vector<std::string> morphology_names,
203 unsigned int options,
204 std::shared_ptr<WarningHandler> warning_handler)
const;
207 std::vector<std::string> morphology_names,
208 unsigned int options,
209 std::shared_ptr<WarningHandler> warning_handler)
const;