Resource Management in C++: Listing 1
Shared_resource declaration.
// shared_resource.hpp
enum resource_status { in_use, available };
struct shared_resource
{
resource_status status;
// other fields probably follow...
// ...
int id;
};
// creates a shared resource in reserved state.
shared_resource* create_resource();
// Releases the resource back.
void recycle_resource(shared_resource*);
// close the resource for usage, without releasing it back.
void shut_resource(shared_resource*);
// whatever its status, reinitiates the resource.
void reset_resource(shared_resource*);
// symbolic domain logic functions to perform with the resource.
void do_alpha_with_resource(shared_resource*);
void do_beta_with_resource(shared_resource*);
About the Author
Diego Dagum is a software architect and developer with more than 20 years of experience. He can be reached at [email protected].