Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:11:39

0001 // This may look like C code, but it is really -*- C++ -*-
0002 //
0003 // Copyright @ 2014 ImageMagick Studio LLC, a non-profit organization
0004 // dedicated to making software imaging solutions freely available.
0005 //
0006 // Definition of resource limits.
0007 //
0008 
0009 #if !defined(Magick_ResourceLimits_header)
0010 #define Magick_ResourceLimits_header
0011 
0012 #include "Magick++/Include.h"
0013 
0014 namespace Magick
0015 {
0016   class MagickPPExport ResourceLimits
0017   {
0018   public:
0019 
0020     // Pixel cache limit in bytes. Requests for memory above this limit
0021     // are automagically allocated on disk.
0022     static void area(const MagickSizeType limit_);
0023     static MagickSizeType area(void);
0024 
0025     // Pixel cache limit in bytes. Requests for memory above this limit
0026     // will fail.
0027     static void disk(const MagickSizeType limit_);
0028     static MagickSizeType disk(void);
0029 
0030     // The maximum number of open pixel cache files. When this limit is
0031     // exceeded, any subsequent pixels cached to disk are closed and reopened
0032     // on demand. This behavior permits a large number of images to be accessed
0033     // simultaneously on disk, but with a speed penalty due to repeated
0034     // open/close calls.
0035     static void file(const MagickSizeType limit_);
0036     static MagickSizeType file(void);
0037 
0038     // The maximum height of an image.
0039     static void height(const MagickSizeType limit_);
0040     static MagickSizeType height(void);
0041 
0042     // The maximum number of images in an image list.
0043     static void listLength(const MagickSizeType limit_);
0044     static MagickSizeType listLength();
0045 
0046     // Pixel cache limit in bytes.  Once this memory limit is exceeded,
0047     // all subsequent pixels cache operations are to/from disk.
0048     static void map(const MagickSizeType limit_);
0049     static MagickSizeType map(void);
0050 
0051     // Pixel cache limit in bytes. Once this memory limit is exceeded,
0052     // all subsequent pixels cache operations are to/from disk or to/from
0053     // memory mapped files.
0054     static void memory(const MagickSizeType limit_);
0055     static MagickSizeType memory(void);
0056 
0057     // Limits the number of threads used in multithreaded operations.
0058     static void thread(const MagickSizeType limit_);
0059     static MagickSizeType thread(void);
0060 
0061     // Periodically yield the CPU for at least the time specified in
0062     // milliseconds.
0063     static void throttle(const MagickSizeType limit_);
0064     static MagickSizeType throttle(void);
0065 
0066     // The maximum width of an image.
0067     static void width(const MagickSizeType limit_);
0068     static MagickSizeType width(void);
0069 
0070   private:
0071     ResourceLimits(void);
0072 
0073   }; // class ResourceLimits
0074 
0075 } // Magick namespace
0076 
0077 #endif // Magick_ResourceLimits_header