module HaskellWorks.Data.BalancedParens.Internal.Slow.FindCloseC.Generic
  ( findCloseC
  ) where

import HaskellWorks.Data.BalancedParens.CloseAt
import HaskellWorks.Data.Bits.BitLength
import HaskellWorks.Data.Bits.BitWise
import HaskellWorks.Data.Positioning

import qualified HaskellWorks.Data.BalancedParens.Internal.Slow.FindCloseN.Generic as G

-- | Find position closing parenthesis from beginning of bit string, carrying a nesting level of 'c'
findCloseC :: (BitLength a, CloseAt a, TestBit a) => a -> Count -> Maybe Count
findCloseC :: a -> Count -> Maybe Count
findCloseC a
v Count
c = a -> Count -> Count -> Maybe Count
forall a.
(BitLength a, CloseAt a, TestBit a) =>
a -> Count -> Count -> Maybe Count
G.findCloseN a
v Count
c Count
0
{-# INLINE findCloseC #-}