CsLibGuarded  1.2.0
API Overview

class plain_guarded<T>

  • exclusive locks

class shared_guarded<T>

  • exclusive locks
  • shared locks

class ordered_guarded<T>

  • shared locks
  • blocking modifications to shared data (via lambda)

class deferred_guarded<T>

  • shared locks
  • nonblocking modifications to data (via lambda)
  • deadlock free eventual consistency

class lr_guarded<T>

  • shared access without locks
  • blocking modifications to data (via lambda)
  • readers block writers
  • readers never see data older than the previous write

class cow_guarded<T>

  • shared access without locks
  • blocking modifications to data (via lambda)
  • only other writers can block writers
  • readers see a snapshot of data
  • unwanted modifications can be discarded

class rcu_guarded<T>

  • manages rcu (read/copy/update) data structures
  • supports multiple concurrent readers
  • supports a single writer
  • readers do not block writers