LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Classes | Variables
Citizen.cc File Reference

Implementation of Citizen. More...

#include <ctype.h>
#include <cerrno>
#include <iostream>
#include <memory>
#include <boost/format.hpp>
#include "lsst/daf/base/Citizen.h"
#include "lsst/utils/Demangle.h"

Go to the source code of this file.

Classes

class  CitizenInit
 Called once when the memory system is being initialised. More...
 

Functions

callbacks

Set the New/Delete callback functions; in each case the previously installed callback is returned.

These callback functions return a value which is Added to the previously registered id.

The default callback functions are called default{New,Delete}Callback; you may want to set a break point in these callbacks from your favourite debugger

dafBase::Citizen::memId defaultNewCallback (dafBase::Citizen::memId const cid)
 Default callbacks. More...
 
dafBase::Citizen::memId defaultDeleteCallback (dafBase::Citizen const *ptr)
 Default DeleteCallback. More...
 
dafBase::Citizen::memId defaultCorruptionCallback (dafBase::Citizen const *ptr)
 Default CorruptionCallback. More...
 

Variables

CitizenInit one
 

Detailed Description

Implementation of Citizen.

Definition in file Citizen.cc.

Function Documentation

◆ defaultCorruptionCallback()

dafBase::Citizen::memId defaultCorruptionCallback ( dafBase::Citizen const *  ptr)

Default CorruptionCallback.

Parameters
ptrAbout-to-be deleted Citizen

Definition at line 425 of file Citizen.cc.

427  {
428  throw std::bad_alloc();
429 
430  return ptr->getId(); // NOTREACHED
431 }
uint64_t * ptr
Definition: RangeSet.cc:88
STL class.

◆ defaultDeleteCallback()

dafBase::Citizen::memId defaultDeleteCallback ( dafBase::Citizen const *  ptr)

Default DeleteCallback.

Parameters
ptrAbout-to-be deleted Citizen

Definition at line 416 of file Citizen.cc.

417  {
418  static int dId = 0; // how much to incr memId
419  std::cerr << boost::format("Deleting memId %s\n") % ptr->repr();
420 
421  return dId;
422 }
uint64_t * ptr
Definition: RangeSet.cc:88
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:168

◆ defaultNewCallback()

dafBase::Citizen::memId defaultNewCallback ( dafBase::Citizen::memId const  cid)

Default callbacks.

Note that these may well be the target of debugger breakpoints, so e.g. dId may well be changed behind our back Default NewCallback

Parameters
cidID for just-allocated Citizen

Definition at line 406 of file Citizen.cc.

408  {
409  static int dId = 0; // how much to incr memId
410  std::cerr << boost::format("Allocating memId %d\n") % cid;
411 
412  return dId;
413 }
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:168

Variable Documentation

◆ one

Definition at line 145 of file Citizen.cc.