23#ifndef ASSET_ASSET_DIAGNOSTICS_H
24#define ASSET_ASSET_DIAGNOSTICS_H
38using std::placeholders::_1;
51 cout <<
"Asset(NULL)\n";
54 _Fmt fmt(
"%s %|50T.| id=%s adr=%p smart-ptr=%p use-count=%u");
55 cout << fmt % aa % aa->getID() % (
void*)aa.
get() % &aa % (aa.use_count() - 1) <<
"\n";
63 cout <<
"----all-registered-Assets----\n";
64 for (
auto const& pA : assets)
69 template<
class CHI,
class PAR>
73 return (child == parent)
74 or (0 < child->getParents().size()
75 and (parent == child->getParents()[0])
76 and (contains (parent->getDependant(), child)))
Steam-Layer Interface: Asset Lookup and Organisation.
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
static lib::Depend< AssetManager > instance
get at the system-wide asset manager instance.
A front-end for using printf-style formatting.
The asset subsystem of the Steam-Layer.
bool dependencyCheck(lib::P< CHI > child, lib::P< PAR > parent)
Steam-Layer implementation namespace root.
bool contains(MAP &map, typename MAP::key_type const &key)
shortcut for containment test on a map
disable_if< can_IterForEach< Container >, FUN > for_each(Container const &coll, FUN doIt)
operate on all elements of a STL container.
Perform operations "for each element" of a collection.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...