Magick++  7.0.10
ResourceLimits.h
Go to the documentation of this file.
1 // This may look like C code, but it is really -*- C++ -*-
2 //
3 // Copyright Dirk Lemstra 2014-2018
4 //
5 // Definition of resource limits.
6 //
7 
8 #if !defined(Magick_ResourceLimits_header)
9 #define Magick_ResourceLimits_header
10 
11 #include "Magick++/Include.h"
12 
13 namespace Magick
14 {
16  {
17  public:
18 
19  // Pixel cache limit in bytes. Requests for memory above this limit
20  // are automagically allocated on disk.
21  static void area(const MagickSizeType limit_);
22  static MagickSizeType area(void);
23 
24  // Pixel cache limit in bytes. Requests for memory above this limit
25  // will fail.
26  static void disk(const MagickSizeType limit_);
27  static MagickSizeType disk(void);
28 
29  // The maximum number of open pixel cache files. When this limit is
30  // exceeded, any subsequent pixels cached to disk are closed and reopened
31  // on demand. This behavior permits a large number of images to be accessed
32  // simultaneously on disk, but with a speed penalty due to repeated
33  // open/close calls.
34  static void file(const MagickSizeType limit_);
35  static MagickSizeType file(void);
36 
37  // The maximum height of an image.
38  static void height(const MagickSizeType limit_);
39  static MagickSizeType height(void);
40 
41  // The maximum number of images in an image list.
42  static void listLength(const MagickSizeType limit_);
43  static MagickSizeType listLength();
44 
45  // Pixel cache limit in bytes. Once this memory limit is exceeded,
46  // all subsequent pixels cache operations are to/from disk.
47  static void map(const MagickSizeType limit_);
48  static MagickSizeType map(void);
49 
50  // Pixel cache limit in bytes. Once this memory limit is exceeded,
51  // all subsequent pixels cache operations are to/from disk or to/from
52  // memory mapped files.
53  static void memory(const MagickSizeType limit_);
54  static MagickSizeType memory(void);
55 
56  // Limits the number of threads used in multithreaded operations.
57  static void thread(const MagickSizeType limit_);
58  static MagickSizeType thread(void);
59 
60  // Periodically yield the CPU for at least the time specified in
61  // milliseconds.
62  static void throttle(const MagickSizeType limit_);
63  static MagickSizeType throttle(void);
64 
65  // The maximum width of an image.
66  static void width(const MagickSizeType limit_);
67  static MagickSizeType width(void);
68 
69  private:
70  ResourceLimits(void);
71 
72  }; // class ResourceLimits
73 
74 } // Magick namespace
75 
76 #endif // Magick_ResourceLimits_header
#define MagickPPExport
Definition: Include.h:281
Definition: Blob.h:15