module SupportedHugeTLBSizes where

import HugeTLBSizeType

import qualified CreateFlags as Flags

import Data.Maybe (isJust)
import Prelude (enumFrom, minBound)

import qualified Data.List as List

supportedHugeTLBSizes :: [HugeTLBSize]
supportedHugeTLBSizes :: [HugeTLBSize]
supportedHugeTLBSizes =
    (HugeTLBSize -> Bool) -> [HugeTLBSize] -> [HugeTLBSize]
forall a. (a -> Bool) -> [a] -> [a]
List.filter (\HugeTLBSize
x -> Maybe CreateFlags -> Bool
forall a. Maybe a -> Bool
isJust (HugeTLBSize -> Maybe CreateFlags
Flags.hugeTLBSize HugeTLBSize
x)) (HugeTLBSize -> [HugeTLBSize]
forall a. Enum a => a -> [a]
enumFrom HugeTLBSize
forall a. Bounded a => a
minBound)

-- ^ List of hugetlb sizes that are supported by your platform